我的语法有误。我想要创建一个名为by_name
的作用域,找到所有名称属性中包含传入字符串(不区分大小写)的agencies
。
这是我拥有的:
class Agency < ActiveRecord::Base
scope :by_name, ->(agency_name) { where('name ILIKE ?', "%#{agency_name}%") }
end
在Rails控制台中,我输入了agencies = Agency.by_name("foo")
。这是生成的查询:SELECT `agencies`.* FROM `agencies` WHERE (name ILIKE '%foo%')
以下是错误消息:
Mysql2::Error: 您的SQL语法有误;请检查与您的MySQL服务器版本相对应的手册,了解正确使用语法的方法 'ILIKE '%foo%')