Сортировка Rails по столбцу на нескольких таблицах

Я пытаюсь выполнить сортировку SQL в рельсах, сортируя по столбцу в нескольких таблицах.

В обеих моделях Event и Featured есть столбец с названием «дата». Событие может принадлежать Избранному. Я хотел бы иметь возможность объединить эти два столбца вместе и отсортировать по столбцу даты на обоих. Поэтому, если дата Featured равна 24/05/12, а дата события - 23/05/12, тогда сначала будет отображаться дата события.

Я бы предпочел сделать это в SQL (не используя сортировку Ruby).

Благодаря!

Редактировать:

.order("events.date ASC, featureds.date ASC")

Не будет работать, потому что это вернет сначала события в порядке, затем признаки будут в порядке.

Например:

Мероприятие 1: 23/04/12

Событие 2: 24/04/12

Избранные 1 день: 23/04/12

Я хочу, чтобы sql отменил:

Мероприятие 1: 23/04/12

Избранные 1 день: 23/04/12

Событие 2: 24/04/12

Заказ, подобный выше, вытащит его так:

Мероприятие 1: 23/04/12

Событие 2: 24/04/12

Избранные 1 день: 23/04/12

0
добавлено отредактировано
Просмотры: 1
Можете ли вы разместить свой существующий SQL, пожалуйста
добавлено автор Ciarán, источник

1 ответы

Я предполагаю, что вы используете ActiveRecord? Добавьте это в свой запрос ActiveRecord:

.order("events.date ASC, featureds.date ASC")

Названия таблиц - это мое предположение .. ( featureds ?)

Также см. руководство .

2
добавлено
Я думаю, что вы не можете получить такое количество записей. Самый простой способ - сделать два запроса и присоединиться к наборам после извлечения.
добавлено автор rdvdijk, источник
Это покажет события сначала, а затем признаки, которых я не пытаюсь достичь. Я обновил исходное сообщение, чтобы понять, что я имею в виду.
добавлено автор jay, источник
В результате я создал отдельную таблицу, в которой указаны даты события, которые облегчили проблему.
добавлено автор jay, источник