我有三个模型,Organisation
有许多User
有很多Project
。
如何查询属于同一组织的所有Project
?
目前我有Project.joins(user: [:organisation])
,但这只是获取所有Project
并按User
对其进行分组。我不确定如何指定Organisation
ID。
答案 0 :(得分:1)
假设您有一个名为organisation
的本地变量,该变量填充了您感兴趣的组织,则可以在查询中添加where
。
Project.joins(user: [:organisation]).where('organisations.id = ?', organisation.id)
但使用您设置的关联(或创建新关联)可能更有用
class User < ActiveRecord::Base
has_many :projects
end
class Organisation < ActiveRecord::Base
belongs_to :user
has_many :projects, through: :user
end
然后您可以向您的组织询问其项目:
organisation = Organisation.find(params[:id])
organisation.projects