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

Есть 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
2ord
@2ord
В-целом как-то так:
@user.facts.
	joins(:favorits). # = articles_users ?
	where("facts.created_at > articles_users.created_at").
	all

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

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

Похожие вопросы