我有一个搜索框,需要使用查询通过 2 个参数“标题”或“标签”进行搜索。我可以使一个参数起作用,但不能使两个参数起作用,尝试过“或”、“||”、“、”都不起作用。
答案是什么?
原代码: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 .
关于mysql - ruby rails 3 : Search with multiple params?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7934807/