Я пытаюсь создать запрос в postgres используя (rails) activerecord, но, похоже, не может его решить.Получить последние записи отношения has_many
Компания имеет много страниц, и я пытаюсь получить последнюю страницу всех компаний.
Я попытался
Page.select('DISTINCT company_id')
, который дает мне 1 страница всех компаний. Но это не последняя (created_at ASC)
Так что я попытался
Page.select('DISTINCT company_id').order('created_at ASC')
, который дает ошибку, так как создается на нет в избранных. Но если я его добавлю, я верну все возвращенные записи.
Так что я попытался
Page.group('company_id').select('company_id').order('created_at ASC')
Но это дает ошибку, что created_at должно быть в группе или функция агрегатора.
добавления created_at к группе, дает нежелательный результат (несколько страниц, одной и той же компании)
Любая помощь?
редактировать:
Мне нравится быть рамки, мне нужно приковать осциллографы позже.
Мне нравится создавать область действия (так что она возвращает отношение activerecord), поэтому я могу ее связать. В основном я хочу, например, page.unique_for_companies.active или что-то подобное – Jareish
Хорошо, я обновлю свой ответ. Затем вы должны использовать 'group' и агрегатную функцию на' created_at'. – Mischa
@ Миша, я не уверен в вашем решении. так как это даст уникальную company_ids из таблицы страниц. он не будет предоставлять последние созданные страницы для каждой компании –