У меня есть следующий оператор SQL:
SELECT article_id FROM publications WHERE category_id IN (SELECT id FROM categories WHERE parent_id = 3)
Как конвертировать его в Rails ActiveRecord?
Я пытался: Article.find(:all, :conditions => ["publications.category_id IN(?)", 3], :include => [:publications])
, он возвращает пустой массив.
Модели:
class Article < ActiveRecord::Base
has_many :publications
has_many :categories, :through => :publications
class Category < ActiveRecord::Base
belongs_to :parent, :class_name => 'Category'
has_many :children, :class_name => 'Category', :foreign_key => :parent_id
has_many :articles, :through => :publications
has_many :publications
class Publication < ActiveRecord::Base
belongs_to :article
belongs_to :category