Как я могу сделать правильное внешнее соединение в контроллере Rails? - PullRequest
0 голосов
/ 07 мая 2010

В контроллере Rails я устанавливаю переменную следующим образом:

@users = User.find(:all, :joins => family)

Это дает мне всех пользователей, у которых есть семьи. То, что я хочу, с точностью до наоборот: все пользователи, у которых нет , имеют семьи.

Я попытался добавить:

:conditions=> {:family => nil}

... но получил ошибку.

Как правильно сделать правильное внешнее соединение?

Ответы [ 3 ]

1 голос
/ 19 сентября 2010

Если family - это связанный объект, вы можете проверить, имеет ли значение family_id значение null в условии условия.

:conditions => "family_id IS NULL"
0 голосов
/ 07 мая 2010

Если вы хотите сделать что-то кроме внутреннего соединения по умолчанию, вам нужно передать строку в качестве параметра :joins с фрагментом sql для соединения, которое вы хотите сделать.

0 голосов
/ 07 мая 2010

По общему признанию, мой Ruby плохой, но я думаю, что когда я столкнулся с подобной проблемой, я смог отфильтровать NULL, используя следующую команду

:conditions => "family IS NULL"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...