2016-10-19 1 views
1

Aバック質問this question。 - ゲームレール付きデータベース入れ子検索混乱:パート2

def self.search(search) 
    query = "%#{search}%" 
    if search 
    joins(:hobbies) 
     .where("user_name like ? or first_name like ? or hobbies.name like ? or hobbies.type like ?", query, query, query, query) 
    else 
    self.all 
    end 
end 

は、しかし、私は今、私がして検索したいSECONDネストされた属性を持っている:

は、これが私のクエリです!

def self.search(search) 
    query = "%#{search}%" 
    if search 
    joins(:hobbies) 
    joins(:games) 
     .where("user_name like ? or first_name like ? or hobbies.name like ? or hobbies.type like ? or games.number like ?", query, query, query, query, query) 
    else 
    self.all 
    end 
end 

しかし、これは機能しません。どれくらい正確に一緒に参加するのですか?

答えて

1

ドットがありません。

def self.search(search) 
    query = "%#{search}%" 
    if search 
    joins(:hobbies) 
    .joins(:games) 
     .where("user_name like ? or first_name like ? or hobbies.name like ? or hobbies.type like ? or games.number like ?", query, query, query, query, query) 
    else 
    self.all 
    end 
end 

これを書くためのより良い方法は

def self.search(search) 
    query = "%#{search}%" 
    if search 
    joins(:hobbies, :games) 
     .where("user_name like ? or first_name like ? or hobbies.name like ? or hobbies.type like ? or games.number like ?", query, query, query, query, query) 
    else 
    self.all 
    end 
end 
+0

うわーそれは簡単だったです!すごい! – ineedahero

関連する問題