Учитывая следующий сценарий, используя activerecord:
Пользователь принадлежит_ к событию
Я хочу найти всех пользователей, у которых нет события с именем «party».
Итак, я попробовал следующее:
User.all(:joins => :event, :conditions => ["events.name != ?", "party"])
Однако, это вернет только тех пользователей, у которых есть событие, но только не "вечеринка". Он не вернет всех пользователей, у которых вообще нет событий, потому что: объединения автоматически ограничивают результаты только связанными записями.
Я мог бы сделать два запроса и добавить результаты вместе, но есть ли способ, в одном запросе, выбрать несвязанные записи плюс соответствующие записи, которые соответствуют условию?