как получить модель, используя порядок связанной модели? - PullRequest
0 голосов
/ 20 августа 2011

У меня есть модели A и B. A has_many B. Теперь я хочу получить все записи A, упорядоченные по update_at B.Можно ли написать функцию поиска для этого?

Ответы [ 3 ]

1 голос
/ 20 августа 2011

Вместо A и B, скажем, у Учителя много учеников:

teachers = Teacher.joins(:students).order('students.updated_at').uniq
1 голос
/ 20 августа 2011

Попробуйте что-то вроде этого:

A.find(:all, :include => ['Bs'], :order => 'Bs.updated_at')
0 голосов
/ 20 августа 2011

Это не имеет смысла, когда A имеет много Bs.

Рассмотрим пример:

A1 => [B1, B2]
A2 => [B3, B4]

Предполагая следующее:

B1.updated_at => 2.days.ago
B2.updated_at => 1.day.ago

B3.updated_at => 4.days.ago
B4.updated_at => 1.days.from_now

Какой из нихдолжен стоять первым, А1 или А2?

...