2013-04-12 4 views
0

Я ищу де-надуть список подписчиков, и есть мысль, что я должен:Rails 3 ActiveRecord группы по ребенку атрибуты

выбрать все: подписок

присоединиться или включает их: mailing_address

сгруппированы по mailing_address.name

, имеющие число> 1

Я не могу за жизнь мне понять, синтаксис для этого.

Пытаюсь вариации на это:

dupes = Subscription.joins(:mailing_address).group("mailing_address.name")

, но это дает мне Unknown column 'mailing_address.name'

Я пробовал все виды вариаций, но не могу понять это ...

и не может начать понимать, как выглядит заявление .having.

Любые мысли или указатели были бы чрезвычайно полезны! Благодаря!

ответ

1

Если ваша дочерняя модель является классом MailingAddress, тогда стандартное имя таблицы будет mailing_addresses (pluralized).

dupes = Subscription.joins(:mailing_address).group("mailing_addresses.name") 
+0

Спасибо! Не думал плюрализовать. Также похоже, что «mailing_address» и «shipping_address» относятся к таблице db, называемой «адрес», и поэтому она фактически «address.name»! – isthmuses

Смежные вопросы