gpt4 book ai didi

mysql - Laravel 搜索查询仅匹配完整单词

转载 作者:行者123 更新时间:2023-11-29 16:20:39 25 4
gpt4 key购买 nike

您好,我正在使用以下函数返回用户关键字搜索的结果:

public function search(Request $request)
{
$q = $request->query('q');
$keywords = explode(" ", $request->query('q'));
$resources = Resource::where(function ($query) use ($keywords) {
foreach ($keywords as $keyword) {
$query->orWhere('title', 'like', "%{$keyword}%");
}
})
->orWhere(function ($query) use ($keywords) {
foreach ($keywords as $keyword) {
$query->orWhere('description', 'like', "%{$keyword}%");
}
})
->paginate(20);
return view('resources.search',compact('resources','q'));
}

这工作得相对不错,但它返回的结果包含部分关键字。即,如果我搜索 Bot,它会返回标题或描述中包含“两者”的结果

我是否只能返回与完整单词匹配的结果?

最佳答案

也许尝试在查询中的关键字前后添加空格?像这样的东西:

 $query->orWhere('title', 'like', "% {$keyword} %");

关于mysql - Laravel 搜索查询仅匹配完整单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54523917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com