我必须建模房间有许多画廊和画廊属于房间..我想得到两个表信息,我使用包括活动记录..
room = Room.includes(:galleries).where(id: id_number)
room = Room.joins(:galleries).select("room.*, galleries.name").where(id: id_number
上面的代码查询没有得到图库部分,它只获取房间信息。我很困惑如何使用includes
。我已经看过了这个==> http://railscasts.com/episodes/181-include-vs-joins。
谢谢!
答案 0 :(得分:1)
如果您只想在一个查询中加载房间及其拥有的图库,那么
room = Room.includes(:galleries).find(id_number)
可以解决问题。
但我认为你误解了joins
和includes
正在做什么。你将永远得到一个房间对象。如果您想访问这些图库,则必须致电room.galleries
。
答案 1 :(得分:0)
您可以尝试使用以下内容:
room = Room.find(id_number).eager_load(:galleries)
http://apidock.com/rails/ActiveRecord/QueryMethods/eager_load