Как в Ruby on Rails запрашивать элементы, которые не имеют связанных элементов в отношении has_many: through - PullRequest
0 голосов
/ 09 февраля 2011

У меня есть модель Contact, и модель User, и таблица соединений, и каждый из них более или менее HABTM.

Как я могу запросить контакты, которым не назначены пользователи?Сводит меня с ума.

спасибо

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Я полагаю, что этот поток ищет то же самое, верно?

Хотите найти записи без связанных записей в Rails 3

Если я вас правильно понимаю,тогда я думаю, что это может быть что-то вроде:

Contact.includes(:jointablenames).where( :jointablenames => {:contact_id => nil } )
0 голосов
/ 09 февраля 2011

ИМХО, вы должны выполнить необработанный SQL-запрос по типу ....

select c.*
from   contacts c left join contacts_users cu on c.id = cu.contact_id
where  cu.contact_id is null

Я не знаю ни одного довольно специфичного для ORM способа сделать это.Очевидно, вы захотите адаптировать запрос к фактическим полям из вашей таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...