![](/img/trans.png)
[英]Rails 4 - how do I query on a collection through a has_many association with multiple conditions on the same columns?
[英]How can I query the reverse of has_many through?
我正在嘗試顯示具有以下關聯的用戶會議。
class User < ApplicationRecord
has_many :panels
has_many :meetings, through: :panels
end
class Meeting < ApplicationRecord
has_one :panel
has_many :users, through: :panels
end
class Panel < ApplicationRecord
belongs_to :Meeting
belongs_to :panel_head, class_name: "User"
belongs_to :panel_member_1, class_name: "User"
belongs_to :panel_member_2, class_name: "User"
end
我可以使用以下代碼顯示會議的小組成員:
@meeting.panel.panel_head
@meeting.panel.panel_member_1
@meeting.panel.panel_member_2
我如何go做反向? 如果我想顯示用戶的會議,我最初想嘗試@user.meetings
,但那沒有用。 然后我嘗試了@user.panel.meetings
,但出現錯誤。
所以我最終弄清楚了萬一有人遇到同樣的問題......
在我的用戶 model 中,我進行了以下查詢:
def meetings
Meeting.joins(:panel).where("panels.panel_head_id = ? OR panels.panel_member_1_id = ? OR panels.panel_member_2_id = ?", id, id, id)
end
我現在可以使用@user.meetings
並返回 ActiveRecord 協會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.