关于关联模型的一个db查询ruby on rails

时间:2014-05-15 12:15:15

标签: mysql sql ruby-on-rails ruby models

我正在使用Ruby on Rails。在我的文件共享应用程序中,我有一个如下所示的模型结构:

User has many Entities
Entity belongs to User
Entity has many Reports
Report belongs to Entity
Report has many Shares
Share belongs to Report

现在,当我有一个share_id时,如何在一个db查询中提取该share_id的用户,实体和报告信息?最好是做3个简单查询还是一个复杂的连接类型查询?

1 个答案:

答案 0 :(得分:1)

我认为像这样使用includes应该有效:

Share.includes(report: { entity: :user }).find(share_id)

另请参阅此问题:ActiveRecord Includes

<强>更新
显然,您需要的API是eager_load

Share.eager_load(report: { entity: :user }).find(share_id)