mysql - ruby rails 3 : Search with multiple params?

标签 mysql ruby-on-rails search where-clause

我有一个搜索框,需要使用查询通过 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/

相关文章:

mysql - 如何将 Select 和 Join select 连接到单个查询中

php - fatal error : Uncaught PDOException: SQLSTATE[42S22]: Column not found

c# - 使用 C# 搜索和替换文本文件中的值

java - 使用 RDF 实现语义搜索

java - 使用 Lucene 使用时间戳进行地理空间搜索

php - 检查页面 View 是否唯一的简单方法?

MySQL 从多个表中查询一个值

ruby-on-rails - Rails 3 两个字段组合时的唯一性验证

ruby-on-rails - PG::FeatureNotSupported:错误:聚合函数不允许更新

ruby-on-rails - ActiveRecord 与 SQL 原始查询?