fyr*_*roc 4 php laravel laravel-5
我有一个多维数组的集合。我需要仅过滤具有特定颜色的项目,但是颜色字段位于多维范围内。通常它就像这样简单$collection->where('color','green')。
对于更复杂的事情我将如何执行此WHERE条款?
[
'product' => 'Desk',
'info' => [
'namespace' => 'green',
'key' => 'blue',
],
[
'namespace' => 'orange',
'key' => 'red',
],
]
],
[
'product' => 'Chair',
'info' => [
'namespace' => 'green',
'key' => 'blue',
],
[
'namespace' => 'purple',
'key' => 'pink',
],
]
],
Run Code Online (Sandbox Code Playgroud)
在这个数组中,我如何获得具有该键值green的所有产品info['namespace']?
$collection->where('info['namespace']','green')基本上就是我正在寻找的。
我认为使用filter集合方法你会得到更好的结果(where似乎嵌套得不太优雅)。
例子:
$greenNamespaceCollection = $collection->filter(function ($value, $key) {
return collect($value['info'])->contains('namespace' 'green');
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6427 次 |
| 最近记录: |