我正在通过过滤器进行产品搜索:
我的代码:
->where(function($query) use($filter)
{
if(!empty($filter)){
foreach ($filter as $key => $value) {
$f = explode(",", $value);
$query-> whereIn('products.value', $f);
}
}
})
字符串
查询:
and (products.value in (Bomann, PHILIPS) and products.value in (red,white))
型
但我需要:
and (products.value in (Bomann, PHILIPS) OR products.value in (red,white))
型
在Laravel中是否有类似的东西:
orWhereIn
型
7条答案
按热度按时间q35jwt9p1#
你可以在核心中搜索
whereIn
函数来看到它。在这里。这必须回答你所有的问题字符串
看,它有第三个布尔参数。祝你好运。
a2mppw5e2#
你在Laravel中有一个
orWhereIn
函数。它接受与whereIn
函数相同的参数。它不在文档中,但你可以在Laravel API中找到它。请参阅Laravel 8或WhereIn文档。
这应该给你这个给予:
字符串
zfciruhq3#
字符串
// OUTPUT @input $paddle holderId = 1
//选择group_concat(dms_stakeholder_permissions. config)作为权限,
dms_stakeholder_permissionss
.rights
fromdms_stakeholder_permissions
,其中dms_stakeholder_permissions
.stakeholder_id
= 4或(dms_stakeholder_permissions
.stakeholder_id
= 1 anddms_stakeholder_permissions
.rights
in(1,2,3))kognpnkq4#
是的,
orWhereIn
是一个可以使用的方法。我相当肯定它应该给予你想要的结果,但是,如果它没有,你可以简单地使用
implode
创建一个字符串,然后将其分解(这是对你的数组结构的猜测):字符串
1yjd4xko5#
是的,
orWhereIn
where clause方法存在于Laravel中。有关详细信息,请参阅下面的Laravel查询生成器官方文档链接。文档链接:https://laravel.com/docs/8.x/queries#additional-where-clauses
有两种方法可以得到下面的输出。
字符串
1.使用
orWhereIn
型
输出量:
型
1.使用
orWhere
和whereIn
型
输出量:
型
rm5edbpk6#
例如,如果你有多个whereIn或whereIn条件,你想把括号,这样做:
字符串
vvppvyoh7#
**示例1:**不同列名的Laravel模型Eloquent Where查询
字符串
**示例2:**使用Where按类别过滤文章假设您有一个包含category_id列的posts表,并且您希望从特定类别中检索文章。您有一个目标类别ID数组:
型
**示例3:**使用Eloquent按ID检索用户Where Query假设你有一个users表,你想按ID检索用户。你有一个你感兴趣的ID数组:
型
点击此处查看更多详情。https://woolocker.com/page/how-to-laravel-eloquent-wherein