jquery - 在 laravel 的同一列中搜索多个单词
问题描述
我需要title
在 laravel 的列中搜索多个单词。就像如果我搜索tea break
那么我只需要获取那些标题内容tea
和break
. 如果任何标题只包含茶,那么它不会出现在我的结果中。我在下面添加了代码,但它的获取也只包含一个单词行。
$query->where('title', 'LIKE', "%$search%");
就像如果我搜索Hello Tea break
然后只获取那些包含所有三个单词的行。即hello
, tea
, break
.
如果我搜索Hello Tea & break
。在这种情况下,我将从我的代码中删除所有空格字符,并在下面的数组中添加代码。
$search = []
$search[0] = 'Hello';
$search[1] = 'Tea';
$search[2] = 'break'
解决方案
您可以实例化一个包含搜索字符串的数组,然后使用->orWhere()
集合上的方法来查找它们。
$keywords = ['hello', 'tea', 'break'];
$result = $query->where(function ($query) use ($keywords) {
foreach ($keywords as $keyword) {
$query->orWhere('title', 'LIKE', "%$keyword%");
}
});
推荐阅读
- c - '->' 的无效类型参数(有 'struct arr')
- wordpress - Wordpress 我的第一个插件 - 在管理员中显示 - 在前端显示“Hello World”
- c# - 如何使泛型类型始终是泛型类型列表?
- python - Python:检测脚本启动时按下了哪些键盘修饰符(ctrl、shift、alt)(Linux)
- powershell - Office 365 Power Shell 将基于部门的用户添加到共享邮箱
- rust - std 中的 async/await 功能是否可以替代 tokio?
- visual-studio - dotnet CLI 使用什么 nuget 版本/nuget 功能何时进入 dotnet CLI?
- ios - 有没有办法在 iOS 应用程序中使用 SCRIPT 设置 info.plist 的 UILaunchStoryboardName 属性?
- javascript - 使用函数和参数从 json 对象中获取键的值
- postman - Netsuite API 集成邮递员