我想做类似的事情:
SELECT * FROM USER WHERE NAME LIKE '%Smith%';
我在 Arel 的尝试:
# params[:query] = 'Smith'
User.where("name like '%?%'", params[:query]).to_sql
然而,这变成:
SELECT * FROM USER WHERE NAME LIKE '%'Smith'%';
Arel 正确包装了查询字符串“Smith”,但因为这是一个 LIKE 语句,所以它不起作用。
如何在 Arel 中进行 LIKE 查询?
PS Bonus--我实际上是在尝试扫描表上的两个字段,包括名称和描述,以查看查询是否匹配。那将如何运作?