我有我要获取的事件列表。我试图包括与此事件关联的每个用户以及与每个用户关联的每个配置文件。包括用户,但不包括他们的个人资料。
我该怎么做
Event.includes(:users [{profile:}])
该文档似乎不清楚:http : //guides.rubyonrails.org/active_record_querying.html
我有我要获取的事件列表。我试图包括与此事件关联的每个用户以及与每个用户关联的每个配置文件。包括用户,但不包括他们的个人资料。
我该怎么做
Event.includes(:users [{profile:}])
该文档似乎不清楚:http : //guides.rubyonrails.org/active_record_querying.html
Answers:
我相信以下内容对您有用。
Event.includes(users: :profile)
如果要包括已经包含的关联(我们将其称为B)的关联(我们将其称为C),则可以使用上面的语法。但是,如果您也想包含D(它也是B的关联),那就是使用Rails Guide中示例中给出的数组。
A.includes(bees: [:cees, :dees])
您可以继续嵌套这样的包含(如果您确实需要)。假设A也与Z关联,C与E和F关联。
A.includes( { bees: [ { cees: [:ees, :effs] }, :dees] }, :zees)
为了好玩,我们还说E与J和X关联,而D与Y关联。
A.includes( { bees: [ { cees: [ { ees: [:jays, :exes] }, :effs] }, { dees: :wise } ] }, :zees)
A.includes( { bees: { cees: {:dees, :ees} } })
-对于类似结构的俄罗斯娃娃(即A包括b,其中包括c ...依此类推)
A.includes(bees: :cees).where(bees: { cees: { flagged: false }}).order("a.bees DESC").order("a.cees ASC")