我有一个集合,我使用该where方法,以便只获得匹配的元素:
myCollection->where('akey', $value);
Run Code Online (Sandbox Code Playgroud)
当我尝试使用filter方法对其进行转换时,它会失败:
myCollection->filter(function($value, $key){
if($key === 'akey' && $value === $aValue)
return true;
});
Run Code Online (Sandbox Code Playgroud)
我尝试使用过滤器,因为我想在集合中选择项目,如果它们的值等于多个值.(基本上在何处或何处,何处或何处).
我假设它$aValue是在filter函数之外定义的,你应该将它传递给回调函数,如下所示:
myCollection->filter(function($value, $key) use ($aValue) {
if($key === 'akey' && $value === $aValue)
return true;
});
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
根据您的示例使用我认为应该工作的地方.
myCollection->filter(function($item) use ($aValue) {
return $item->aKey === $aValue;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |