1
我有两个模型用户和公司has_and_belongs_to_many关联。 我可以用Rails/Active Record has_and_belongs_to_many关联 - 获取记录
Company.find(id).users
我有问题被发现,不属于某公司的所有用户获取属于某公司的所有用户。那么,我可以这样做使用
User.all - Company.find(id).users
但是,我觉得有一个更好的方法来实现这一点。有没有积极的解决方案呢?
目前,我有8个用户(编号从1到8)。当我尝试,
User.joins(:companies).where('companies.id = ?', 13).map(&:id)
我得到的结果[7,8]这是预期的。当我将!=放在上面的查询中时,结果不是我想要的,即1到6的数组。
需要帮助。 谢谢。
感谢您的快速回复,并对迟到的回复感到抱歉。但是这引发了每个用户的查询,即在我的情况下共有8个查询。我想我应该关心被解雇的查询的数量。有没有解决方法? – prasvin 2012-01-11 05:44:28
是的,我打这个n + 1查询wtf很难用这个建议...我编辑,尝试新版本...应该更有效率。 – 2012-01-14 19:00:29