Mysql Railed数据库嵌套搜索混淆:第2部分
不久前我问 这是我的疑问:Mysql Railed数据库嵌套搜索混淆:第2部分,mysql,sql,ruby-on-rails,Mysql,Sql,Ruby On Rails,不久前我问 这是我的疑问: 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 en
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
然而,我现在有了第二个我想搜索的嵌套属性——games
但这不起作用。我怎样才能把它们连接起来呢?你漏掉了一个点
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
哇,太简单了!太棒了!
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