假设我有带两列类别和名称的产品表.
现在,用户可以按类别或名称或类别和名称两者查找产品
例如,某产品的类别为计算机,名称为Dell.用户在搜索框“计算机”,“戴尔”或“戴尔计算机”或“戴尔计算机”中输入,都可以退回该产品
关于Activerecord查询有任何想法吗?
最佳答案
如果您使用的是mysql,则可以使用CONCAT来连接类别和名称,然后像平常一样进行LIKE查询
Product.where("LOWER(CONCAT(name,' ',category)) LIKE :query OR LOWER(CONCAT(category,name)) LIKE :query",query: "%#{params[:query].downcase}%")
通过此查询,可以找到以下两种情况:Dell,计算机,Dell计算机或Dell计算机
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。