Rails将表A连接到表C,其中A有很多B,B有很多C.

时间:2014-09-19 16:39:03

标签: sql ruby-on-rails arel

所以在rails中,我有

class Organization < ActiveRecord::Base
has_many :boxes

class Box < ActiveRecord::Base
has_many :items
belongs_to :organization

class Item < ActiveRecord::Base
belongs_to :box

如果不在组织上添加关联,我如何查询属于组织的所有项目?我不想将orgaization_id添加到Item。

1 个答案:

答案 0 :(得分:1)

看看has_many :through Association

在您的情况下,您可以将以下内容添加到Organization模型

has_many :items, through: :boxes

然后你就能写出这样的东西:Organization.find_by(id: ..., name: ....).items