给定以下场景,使用activerecord:
用户belongs_to事件
我想要查找所有没有名称为"party“的事件的用户。
因此,我尝试了以下方法:
User.all(:joins => :event, :conditions => ["events.name != ?", "party"])
然而,这将只返回那些确实有事件的用户,而不是"party“事件。它不会返回所有没有事件的用户,因为:joins会自动将结果限制为相关的记录。
我可以执行两个查询并将结果相加,但是有没有一种方法可以在一个查询中获取非关联记录,以及与条件匹配的关联记录?
发布于 2009-03-28 19:32:43
这个怎么样?
User.all(
:include => :event,
:conditions => ["users.event_id IS NULL OR events.name != ?", "party"])
https://stackoverflow.com/questions/694031
复制