我无法在我的rails应用程序中获取此数据库查询。这是我的控制器代码:
User.where(:sport => "/\bFootball").all
创建此查询/响应:
SELECT "users".* FROM "users" WHERE "users"."sport" = 'Football'
=> []
==========================================
但是这个:
User.where(:sport => "Football").all
返回:
SELECT "users".* FROM "users" WHERE "users"."sport" = 'Football'
=>[ARRAY OF DESIRED USERS]
不确定这里的语法
答案 0 :(得分:1)
要在Rails中执行LIKE
查询,您可以执行以下操作:
User.where("users.sport LIKE ?", "%Football%").all
答案 1 :(得分:0)
您还可以使用正则表达式进行此查询。相同的语法是:
User.where(sport: /Football/).to_a
如果您希望术语“足球”不区分大小写,您可以使用:
User.where(sport: /football/i).to_a
使用上述语法的原因:
User.where("users.sport LIKE ?", "%Football%").all
就像查询一样只适用于SQL数据库,而上面建议的基于正则表达式的查询适用于所有SQL以及像mongodb这样的NoSQL数据库。