在Laravel雄辩的查询构建器中使用whereIn和where

金金马

我一直在尝试使用Laravel雄辩的查询生成器进行查询,但是没有成功。

这就是我要实现的目标:我有一个带笔记本电脑的网上商店。人们可以按品牌,屏幕直径和处理器进行搜索。我的表称为“笔记本电脑”,列为“ specsTag”,“ screen_diameter”和“ processor”。我正在使用复选框。因此,请求是一个数组,可能看起来像

['HP','Apple', '12 inch', 'Intel Core M']

首先,我想将数组中的所有品牌收集为一个集合,并使用数组中的值对它们进行相应的过滤。

我尝试了几件事。即试图搜索屏幕直径。

建议非常感激。

j

你可以试试这个

$laptops = Laptop::whereIn('specsTag',$requestArray)->where(function($query) use ($requestArray){
                foreach($requestArray as $item){
                    $query->orWhere('screen_diameter','=',$item);
                }
            })->get();

假设你有$requestArray这样

$requestArray = ['HP','Apple' '12 inch', 'Intel Core M'];

您将获得像这样的sql

select * from `laptops` where `specsTag` in (?, ?, ?, ?) and (`screen_diameter` = ? or `screen_diameter` = ? or `screen_diameter` = ? or `screen_diameter` = ?)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在laravel查询中使用whereIn和where

Laravel 4雄辩的查询使用WHERE和OR AND OR?

在Laravel雄辩模型中使用whereIn()方法

在Laravel查询构建器中使用多个where子句

在雄辩的模型中使用条件where子句构建查询

使用 OR 构建 Laravel 雄辩的查询

如何在'where'子句的laravel查询构建器中使用括号?

在雄辩的查询中使用Laravel模型方法

在orWhere()中使用AND的Laravel雄辩查询

如何在 laravel 集合的同一查询中使用 laravel 命令“whereIn”和“WhereNotIn”

Laravel在雄辩的ORM中使用WHERE

Laravel-使用雄辩的查询构建器在select中添加自定义列

雄辩:在WhereIn中使用修饰符

使用 Laravel 雄辩查询加入和 OrderBy

使用Laravel查询构建器构建查询

在 Laravel 中使用 Eager Loading 的查询构建器 Eloquent

Laravel查询构建器在选择中使用Mutator值

如何使用laravel查询构建器嵌套WHERE加AND条件?

Laravel 雄辩地使用 distinct() 和 where()?

Laravel 4:使用Eloquent的where中的where和whereIn

使用Laravel查询构建器和LEFT JOIN删除行

Laravel /雄辩的whereIn与null

Laravel:如何在Laravel查询构建器中使用派生表/子查询

laravel 5-使用雄辩或查询构建器连接表时,选择所有不带星号的列

Laravel:在查询中使用Where和orWhere的正确方法

在Laravel ORM中使用where()和get()方法查询

雄辩的WHERE IN使用原始查询/胶囊管理器

在laravel雄辩中使用子查询进行groupBy('created_at')

laravel:如何在雄辩的查询中使用LOWERCASE函数?