@teachers = User.joins(:students).where("student_id IS NOT NULL")
以上有效,以下无效。
@teachers = User.includes(:students).where("student_id IS NOT NULL")
据我了解,连接和包含都应该带来相同的结果和不同的性能。据此,您使用includes
加载Model调用的对象的关联记录,其中joins
只需将两个表添加在一起。使用includes
还可以防止N+1 queries
.
第一个问题:为什么我的第二行代码不起作用?
第二个问题:任何人都应该includes
在与上述类似的情况下使用吗?