2011-02-04 7 views
0

を通じて多くは、私が検索したいと思います(Railsの3)Railsの3データベースクエリは、私が<em><strong>投稿</strong></em>テーブルと<em><strong>タグ</strong></em>テーブルを持っているリンク

テーブルをタグ付けを介して結合していますキーワード:投稿 * 名前 *フィールドおよび関連するタグ。

class Post < ActiveRecord::Base    
    has_many :taggings, :dependent => :destroy 
    has_many :tags, :through => :taggings 

class Tag < ActiveRecord::Base 
    has_many :taggings, :dependent => :destroy 
    has_many :posts, :through => :taggings 

class Tagging < ActiveRecord::Base 
    belongs_to :post 
    belongs_to :tag 



var = "word" 
Post.where("name LIKE ?","%#{var}%") 

これは、名前のフィールドを検索しますが、私はまた、「VAR」に一致するタグを持つ記事の検索を開始することは考えていますか?

投稿とタグの2つの個別の検索を行う必要がありますか、何らかの理由で1つの検索に参加できますか?

答えて

3
Post.includes(:tags).where(["posts.name LIKE (?) AND tags.tag LIKE (?)", "%#{var}%", "%#{var}%"]) 
+0

やってくれた優秀で動作するはずです!大変感謝しています。 – pagetribe

+0

@ fl00rねえ、これは古いのですが、どこでこれを定義しているのですか?投稿モデルでは? –

+0

@Jonah Katz、コントローラ内 – fl00r

0

これは、少なくともRailsの3

Post.joins(:tags).where('tags.name LIKE ?', "%#{var}%") 
関連する問題

 関連する問題