我在圍繞多個關聯使用.joins時遇到了問題。這是我的模型設置:Rails多個連接返回空集。爲什麼?
class Article
has_many :comments
has_many :tags
end
class Comment
belongs_to :article
end
class Tag
belongs_to :article
end
我試圖找到具有特定註釋的身體或與特定標籤的文本標籤註釋的所有文章。這是我的查詢:
Article.joins(:tags, :comments).where("(\"tags\".\"tag\" = 'awesome') OR (\"comments\".\"body\" = 'hello')
它總是返回一個空的結果。最奇怪的是,這將工作:
Article.joins(:tags).where(:tags => {:tag => "awesome:})
但當我添加其他連接符號,什麼都不會返回:
Article.joins([:tags, :comments]).where(:tags => {:tag => "awesome"})
這是否任何意義?我在做一些愚蠢的事情嗎?
是否這樣的情況下,一些標籤文章可能沒有評論(或相反,一些評論文章可能沒有標籤)? – 2013-02-11 16:56:49