Как взять данные по условию, связанному с другой таблицей?

Есть 3 модели:

class Article < ActiveRecord::Base

  has_many :facts
  belongs_to :user
  has_and_belongs_to_many :users

end

class Fact < ActiveRecord::Base

  belongs_to :article
  belongs_to :user

end

class User < ActiveRecord::Base

  has_many :facts
  has_many :articles
  has_and_belongs_to_many :favorits, class_name: "Article"

end


Как написать запрос, что бы взять все Facts, принадлежащие Articles ,которые User отметил как Favorit, только чтобы дата создания facts была позже добавления Article в Favotits? Заранее спасибо)
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
В-целом как-то так:
@user.facts.
	joins(:favorits). # = articles_users ?
	where("facts.created_at > articles_users.created_at").
	all

Не очень понял почему такие связи между моделями, поэтому мог ошибиться.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы