php – Eloquent – 多个WHERE LIKE条件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Eloquent – 多个WHERE LIKE条件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在尝试在我的数据库中实现搜索关键字.因此我分隔了一个用逗号分隔的字符串,所以我得到一个包含可变数量元素的数组(一个关键字).

知道我可以使用这样一个雄辩的结构:

$PRoducts = Product::where([['keywords','LIKE',%samsung%],[keywords,'s7']])->paginate(15);

找到一个产品的关键字samsung,galaxy,s7.

现在我需要这个东西,但是为可变数量搜索查询部分自动生成,所以对于数组中的每个关键字,我需要添加一个[‘keywords’,’LIKE’,’…’] …

如何使用Laravels Eloquent做到一点

@H_406_18@解决方法
使用闭合.首先,确保将关键字列表存储到数组等中.然后 …

$keywords = ['samsung','s7','what else'];

$products = Product::where(function ($query) use ($keywords) {
    foreach ($keywords as $keyword) {
       $query->orWhere('keyword','like',$keyword);
    }
})->paginate(15);

其他例子

$keywords = [
    ['name',$seArchQuery],['category_id','=',$selectedSubcategory],];

$products = Product::where(function ($query) use ($keywords) {
    foreach ($keywords as $keyword) {
        $query->where($keyword);
    }
})->paginate(15);

除了其他

$keywords = [
    ['name',['please_id',$learnPHPArray],];

$products = Product::query();

foreach ($keywords as $keyword) {
    $products = $products->where($keyword);
}

return $products->paginate(15);

orWhere做了什么?它是否用AND连接查询部分?

不,用OR.作为逆(?),认情况下它本身就是AND.

参考

> https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_where
> https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_orWhere

脚本宝典总结

以上是脚本宝典为你收集整理的php – Eloquent – 多个WHERE LIKE条件全部内容,希望文章能够帮你解决php – Eloquent – 多个WHERE LIKE条件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。