在Laravel中使用多个过滤器
我正在拼命寻找一种在我的板上制作多个过滤器的方法。目前,我正在使用filter()函数过滤数组中的一些元素。我需要用同一个键显示多个数组的元素,但我不能这样做 我的控制器:在Laravel中使用多个过滤器,laravel,Laravel,我正在拼命寻找一种在我的板上制作多个过滤器的方法。目前,我正在使用filter()函数过滤数组中的一些元素。我需要用同一个键显示多个数组的元素,但我不能这样做 我的控制器: $arrays = $arrays->filter(function ($item) use ($five, $four, $three, $two){ return data_get($item, 'note') == $five; }); 我需要显示包含注释
$arrays = $arrays->filter(function ($item) use ($five, $four, $three, $two){
return data_get($item, 'note') == $five;
});
我需要显示包含注释键的数组,其中包含
$5
$4
$3
和$2
。可以在同一个函数中执行多个数据\u get
吗?您需要的不一定是过滤器()
,而是groupBy()
函数
如果您试图根据属性的值进行分组,那么您可能需要做的就是
$arrays->groupBy('note');
如果您试图按更复杂的内容分组,则可以使用回调(类似于过滤器)
如果你想通过一个数组的代码< >$Vals/Cuth>过滤,那么你可能想考虑这样做,而不是:
$values = collect([$five, $four, $three, $two]);
$arrays->filter(function ($value) use ($values) {
return $values->has($value);
});
如果要检查键->值对的值,请使用contains()
方法
如果要检查键->值对的键,请使用has()
方法
这样做是否有效返回数组(data\u get($item,'note'),[$5,$4,$3,$2])
?不,它不起作用,所以你正在尝试筛选你的集合,还是尝试按你的参数对它们进行分组?是的,我尝试用我的参数对它们进行分组,结果是错误的。我想在我的收藏中只看到值为$5
、$4
、$3
和$2
的数组。不是其他的。@RootMeIH您能给我们一个示例,说明您拥有的数组的输入/输出以及您希望如何拥有这些数组吗?
$values = collect([$five, $four, $three, $two]);
$arrays->filter(function ($value) use ($values) {
return $values->has($value);
});