php – Eloquent – 多个WHERE LIKE条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Eloquent – 多个WHERE LIKE条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1502字,纯文字阅读大概需要3分钟。
内容图文
![php – Eloquent – 多个WHERE LIKE条件](/upload/InfoBanner/zyjiaocheng/746/83bbcb63c1fd4bb0a7f71d6842425da0.jpg)
我目前正在尝试在我的数据库中实现搜索关键字.因此我分隔了一个用逗号分隔的字符串,所以我得到一个包含可变数量元素的数组(一个关键字).
我知道我可以使用这样一个雄辩的结构:
$products = Product::where([['keywords', 'LIKE', %samsung%], [keywords, 'LIKE', 's7']])->paginate(15);
找到一个产品的关键字samsung,galaxy,s7.
现在我需要这个东西,但是为可变数量的搜索查询部分自动生成,所以对于数组中的每个关键字,我需要添加一个[‘keywords’,’LIKE’,’…’] …
如何使用Laravels Eloquent做到这一点?
解决方法:
使用闭合.首先,确保将关键字列表存储到数组等中.然后 …
$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', 'LIKE', $searchQuery],
['category_id', '=', $selectedSubcategory],
];
$products = Product::where(function ($query) use ($keywords) {
foreach ($keywords as $keyword) {
$query->where($keyword);
}
})->paginate(15);
除了其他
$keywords = [
['name', 'LIKE', $searchQuery],
['category_id', '=', $selectedSubcategory],
['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条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。