您好我有查询要将数组传递给whereBetween
查询。
例如我有一个看起来像这样的数组
Array
(
[product_id] => Array
(
[0] => 31337
[1] => 31366
)
[lands] => Array
(
[0] => 12
[1] => 23
)
)
现在我想要搜索[0] =>之间的那些product_id
31337和[1] => 31366同样到陆地我想找到Between [0] =>之间的土地12和[1] => 23
现在说我有一个变量$filters
,其中包含上面的数组,我将它像这样传递给下面的查询。
public function scopeDynamicInBetweenFilter($query, $filters)
{
if(!empty($filters)){
return $query->whereBetween($filters);
}
return $query;
}
它给了我一个错误
类型错误:函数Illuminate \ Database \ Query \ Builder :: whereBetween(),1通过且至少2个预期的参数太少
在
中确实如此Builder->whereBetween('product_id' => array('31337', '31366'))->whereBetween('lands' => array('12', '23'))
可以做些什么来实现这一目标。
答案 0 :(得分:0)
试试这个:
if(!empty($filters)){
return $query->whereBetween('product_id', $filters['product_id'])->whereBetween('lands', $filters['lands']);
}
答案 1 :(得分:0)
您可以尝试循环过滤器并将其应用于查询
{{1}}