我有一个搜索框,需要使用查询通过2个参数,“标题”或“标签”进行搜索。我可以得到一个参数,但不是两个,尝试'OR','||',','没有任何作用。Ruby on rails 3:使用多个参数搜索?
答案是什么?
原始代码:Book.where("title LIKE ?" , "%#{query}%")
我需要什么:Book.where("title LIKE ?" , "%#{query}%" OR "tags LIKE ?" , "%#{query}%")
我有一个搜索框,需要使用查询通过2个参数,“标题”或“标签”进行搜索。我可以得到一个参数,但不是两个,尝试'OR','||',','没有任何作用。Ruby on rails 3:使用多个参数搜索?
答案是什么?
原始代码:Book.where("title LIKE ?" , "%#{query}%")
我需要什么:Book.where("title LIKE ?" , "%#{query}%" OR "tags LIKE ?" , "%#{query}%")
Book.where("title LIKE ? OR tags like ?" , "%#{query}%", "%#{query}%")
你应该有“完全” SQL查询首先它包含占位符(?
)作为where
查询的第一个参数,然后将剩余的参数是简单占位符的替代品。请参阅Active Record Querying guide。
我建议你看一看metawhere
这是专门为复杂的查询(我知道这个人是不是,但值得注意的)。
谢谢,以后可能会有用:) – jakobk
考虑+1的答案,然后:) – apneadiving
Client.where("orders_count = ? AND locked = ?", params[:orders], false)
为你的伟大的书我正在阅读;) – apneadiving
伟大的工作,我现在我明白了questionmarks。谢谢! – jakobk