示例相关需求: 在处方列表中显示病人姓名(处方关联到就诊记录,就诊记录关联到病人)
class Prescription < ActiveRecord::Base
belongs_to :patient_case_detail
has_one :patient_case, :through => :patient_case_detail
end
Prescription.find(:first, :joins => [:patient_case_detail => :patient_case], :select => "prescriptions.*,patient_cases.patient_name")
在CONSOLE下运行返回的是Presction对象,是看不到patient_name的
#<Prescription id: 1, patient_case_detail_id: 1, subject: "桍", created_person: 2, department_id: nil, flag: 0, description: "sdfsdfASDFASDF ", created_at: "2009-12-16 08:35:00", updated_at: "2009-12-18 07:00:36">
以JSON打印出来就能看到了
Prescription.find(:first, :joins => [:patient_case_detail => :patient_case], :select => "prescriptions.*,patient_cases.patient_name").to_json
"{\"prescription\":{\"updated_at\":\"2009-12-18T15:00:36+08:00\",\"patient_case_detail_id\":1,\"subject\":\"\\u684d\",\"patient_name\":\"\\u674e\\u900d\\u9065\",\"id\":1,\"flag\":0,\"created_person\":2,\"description\":\"sdfsdfASDFASDF \",\"department_id\":null,\"created_at\":\"2009-12-16T16:35:00+08:00\"}}"
生成的SQL语句
SELECT prescriptions.*,patient_cases.patient_name FROM `prescriptions` INNER JOIN `patient_case_details` ON `patient_case_details`.id = `prescriptions`.patient_case_detail_id INNER JOIN `patient_cases` ON `patient_cases`.id = `patient_case_details`.patient_case_id ORDER BY id DESC
分享到:
相关推荐
在 Rails 2.x 中,许多使用哈希参数的查询方法如 `:conditions`, `:include`, `:joins` 等在 Rails 3.1 中被标记为过时,虽然在3.1版本中仍然可用,但计划在 Rails 3.2 中完全移除。这些变化主要是为了引入一个新的...
例如,你可以使用Occam's Record来创建复杂的JOINs、子查询或者自定义SQL片段,而无需担心性能开销。 在使用Occams Record时,你需要对SQL有更深入的理解,因为它的API更偏向于直接操作SQL语句。这对于需要优化查询...
在Ruby on Rails框架中,ActiveRecord是一个至...在实际开发中,熟练掌握ActiveRecord的使用,可以极大地提高开发效率和代码质量。通过实例练习,你可以更深入地理解其工作原理,更好地利用它来构建复杂的Web应用程序。
综合这些信息,我们可以推断出这个Ruby库是一个专注于数据库查询和数据转换的工具,它帮助开发者将ActiveRecord查询结果转化为分析哈希,便于在各种图表库中进行数据可视化。对于Ruby on Rails开发者来说,这可以极...
《Pro ActiveRecord Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord框架来高效地处理Ruby on Rails中的数据库操作。本书由Kevin Marshall、Chad Pytel和Jon Yurek共同撰写,他们都是在Ruby与...
ActiveRecord的model创建,常用的一些增删改查以及HQL的使用
如果你想使用Castle.ActiveRecord,但又不想使用.NET Framework 3.0/3.5/4.0或更高版本,那么这个就是你所需要的,For .NET FrameWork 2.0,我整理了好久,自己从官方一个资源库找到并整理好的一套。 -------------...
在实际应用中,ByStar gem 还可以与其他ActiveRecord查询方法结合使用,如`where`、`order`和`group`,以实现更复杂的查询需求。例如,你可以按月份分组并计数事件: ```ruby event_counts = Event.group_by_month...
使用ActiveRecord,可以直接在对象上执行CRUD操作,无需通过Session,使得代码更简洁。 8. ** Castle ActiveRecord** Castle ActiveRecord是NHibernate ActiveRecord实现的一个版本,提供了额外的功能和方便性。它...
OccamsRecord是一个高效的高级查询库,可与ActiveRecord一起使用。 它不是ORM或ActiveRecord的替代品。 通过为OccamsRecord提供以下两点,它可以为您的ActiveRecord应用程序注入新鲜的活力: 1)巨大的性能提升 至少...
-Occam的Razor OccamsRecord是一个高效的高级查询库,可与ActiveRecord一起使用。 它不是ORM或ActiveRecord替代品。 OccamsRec Occams记录请勿在不必要的情况下繁殖实体。 -Occam的Razor OccamsRecord是一个高效的...
ASP实现ActiveRecord数据查询更新引言:用过 PHP框架 ThinkPHP 或 CI框架的同学,都知道这些框架自带的数据查询 Active Record 用于查询数据和更新数据想到方便,不单它们,很多PHP框架都支持 Active Record,省去了...
这个"基于ASP的实现ActiveRecord数据查询更新 v1.0.zip"压缩包可能包含了一个利用ASP技术来实现ActiveRecord设计模式的示例或者框架。 ActiveRecord是面向对象编程中的一个设计模式,它将数据库表的记录映射到类的...
5. **查询与更新**:在ActiveRecord模式下,查询数据库可以转化为查找特定对象,或者使用集合方法(如Find、All等)来获取满足条件的对象。更新则涉及更改对象属性,然后调用Update方法。这种方法减少了对SQL的直接...
Castle.ActiveRecord官方已经停止更新了,官方最高支持到NHibernate 3.1.0.4000,这个版本还有不少问题(例如:[NH-2213] - CLONE -Wrong parameters order in IQuery with SetParameterList and Filter)。...
Castle.ActiveRecord.Generator 是一个基于 Castle ActiveRecord 框架的代码生成工具,它极大地简化了在.NET环境中使用ActiveRecord模式进行数据库操作的工作流程。ActiveRecord是面向对象持久化的一个设计模式,将...
如果需要分页查询,可以使用`Page`对象配合`page`方法: ```java Page<User> page = new Page(1, 10); IPage<User> result = userMapper.selectPage(page, null); ``` 3. **更新(Update)** 更新数据时,先...
ASP实例开发源码—ASP实现ActiveRecord数据查询更新 v1.0.zip ASP实例开发源码—ASP实现ActiveRecord数据查询更新 v1.0.zip ASP实例开发源码—ASP实现ActiveRecord数据查询更新 v1.0.zip
在这个"ASP实现ActiveRecord数据查询更新 v1.0-ASP源码.zip"的压缩包中,我们可以预期包含了一些实现ActiveRecord模式的ASP源码,用于处理数据查询和更新操作。 ActiveRecord模式的核心思想是将数据库表映射为对象...
这个教程主要围绕如何使用 Castle.ActiveRecord 在 C# 项目中实现 ActiveRecord 设计模式,以及通过 Winform 应用来展示其实现过程。 ActiveRecord 是一种设计模式,源自 Ruby on Rails,它将业务对象与数据库记录...