我有一个搜索框,需要搜索2个参数,“标题”或“标签”使用查询。我可以让一个参数工作,但不能让两个参数工作,尝试'OR','||',',‘都不能工作。
答案是什么?
原码:Book.where("title LIKE ?" , "%#{query}%")
我需要的:Book.where("title LIKE ?" , "%#{query}%" OR "tags LIKE ?" , "%#{query}%")
发布于 2011-10-29 04:56:26
Book.where("title LIKE ? OR tags like ?" , "%#{query}%", "%#{query}%")首先应该有一个“完整的”SQL查询,其中包含占位符(?)作为where查询的第一个参数,然后剩下的参数只是占位符的替代。
有关更多信息,请参阅Active Record Querying guide。
发布于 2011-10-29 04:55:36
我建议您看看metawhere,它专门用于复杂的查询(我知道这个不是,但它值得注意)。
See Railscast。
发布于 2011-10-29 04:56:09
从Rails Guides
Client.where("orders_count = ? AND locked = ?", params[:orders], false)https://stackoverflow.com/questions/7934807
复制相似问题