mysql - 如何在eloquent中用LIKE搜索句子中的单词

标签 mysql laravel eloquent

我想在一个字段的值中搜索一个词,所以使用了 LIKE,但它没有给我想要的输出。 我写了这段代码:

 User::where('name', 'LIKE','%'. $search . '%')->get();

如果name值如下:

|-------------------|
|      name         |
|-------------------|
|    John Doe       |
|-------------------|
|    Jane Smith     |
|-------------------|
|    Will Johnson   |
|-------------------|
|    MyJohnTest     |
|-------------------|
|    Sara TestJohn  |
|-------------------|

以上代码为John输出的结果是以下值

|-------------------|
|      name         |
|-------------------|
|    John Doe       |
|-------------------|
|    Will Johnson   |
|-------------------|
|    MyJohnTest     |
|-------------------|
|    Sara TestJohn  |
|-------------------|

但是我想要这样的输出,查询等于每个单词的第一个

|-------------------|
|      name         |
|-------------------|
|    John Doe       |
|-------------------|
|    Will Johnson   |
|-------------------|

如果有解决办法请告诉我

最佳答案

SQL 不知道你的单词在哪里结束所以你可以使用

  User::where('name', 'LIKE', $search . ' %')
        ->orWhere('name', 'LIKE',' %'. $search . '%')
        ->orWhere('name', 'LIKE','% '. $search . ' %')
  ->get();

关于mysql - 如何在eloquent中用LIKE搜索句子中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57440925/

相关文章:

mysql - 多对多匹配多重优化

laravel - 如何通过 VueJS 在 Laravel 中使用 Bootstrap 4 图标

php - 如何用foreach批量更新记录?

php - Laravel - 使用 eloquent 在开始日期和结束日期之间选择行

php - 如何通过laravel中的外键检索记录的完整数据?

php - 获取查询中数据库存储号码的前 5 位数字

Python MySQL 连接器不适用于 SSL

python - Sqlalchemy 重复条目

php - Laravel Eloquent 添加自定义查询元素

php - 检查模型 C 是否与任何与模型 A 相关的模型 B 相关