mysql - ILIKE 字符串中的搜索仅适用于其第一部分?

标签 mysql ruby-on-rails ruby

我有一个 Users 表,其中包含一个 name 字段,其中包含用户的全名。

我编写了一个搜索函数,该函数应该允许按名字或姓氏查找用户,但它只返回名字的结果。

例如,如果我有一个用户:user.name = 'John Smith',如果我输入“John”,我会得到记录,但如果我输入“Smith”,我不会得到任何结果。这是我的搜索代码:

name_users = User.where('name ILIKE ?', params["search_text"] + '%').all

如何允许按姓氏搜索?

最佳答案

试试这个:

name_users = User.where('name ILIKE ?', "%#{params["search_text"]}%")

关于mysql - ILIKE 字符串中的搜索仅适用于其第一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37178249/

相关文章:

php - 如何在 MySQL 和 PHP 中建立数组数据的链接

php - wordpress 无法连接到数据库

javascript - Rails 技术在重定向后执行 javascript

mysql - 如何在创建表时设置复合算术条件值?

ruby-on-rails - 在 Ruby on Rails 中嵌入博客

html - 找不到类型为 'bootstrap' 的文件 'text/css'

Ruby Axlsx Gem 整列解锁样式

ruby-on-rails - 在 .each 循环中获取下一个项目而不结束当前项目的迭代

arrays - 按类别和无限子类别对对象数组进行排序的最佳方法

php - 用PHPExcel制作Excel文件,每列写两次