Предположим, у меня есть отношение has_many между пользователем и сообщениями.Область действия для каждого последнего элемента отношения has_many
Я хотел бы установить область, в которой можно будет фильтровать пользователей теми, у кого есть что-то в последнее сообщение, которое они отправили. Таким образом, поиск только среди последнего сообщения каждого пользователя.
Ниже я получил результаты среди всех сообщений ...
class Contact < ActiveRecord::Base
has_many :messages
scope :filter_by_last_messages, lambda { |value|
joins(:messages).where("messages.content = ?", value)
}
end
я не думаю, что вы можете сделать это без подзапросов в SQL ... – phoet