gpt4 book ai didi

laravel - 我如何在 laravel 中搜索多个关键字。?

转载 作者:行者123 更新时间:2023-12-04 16:46:53 29 4
gpt4 key购买 nike

这是我的 Controller

 $term = $request->get('q');

// return $request->q;

$products = Post::whereHas('user', function($query) use($term) {
$query->where('name', 'like', '%'.$term.'%');
})->orWhere('tags','LIKE','%'.$term.'%')->get();
return view('pages.search', compact('products','users'));

这对于单个关键字搜索非常有效。但我想将它用于多个关键字。像 laravel php 等。当我搜索多个值时请指导我,如 abc php laravel 或任何它应该工作的东西。如果标签存在于不同的列中,例如 php 存在于第一列中,而当我搜索 php laravel 时,laravel 位于下一列中,那么它应该向我显示两个列值。

最佳答案

可能有更好的方法来做到这一点,比如使用 CloudSearch/Algolia,但这是对我们有用的解决方案:

// Split the terms by word.
$terms = explode(" ", request('q'));

$products = Post::query()
->whereHas('user', function ($query) use ($terms) {
foreach ($terms as $term) {
// Loop over the terms and do a search for each.
$query->where('name', 'like', '%' . $term . '%');
}
})
->orWhere(function ($query) use ($terms) {
foreach ($terms as $term) {
$query->where('tags', 'like', '%' . $term . '%');
}
})
->get();

关于laravel - 我如何在 laravel 中搜索多个关键字。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46766843/

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