我想访问此嵌套数组的名为标记的父元素中名为name元素的值:
$array = Post::whereIn('id', [1,2,3,4])->with('tags')->get()->toArray();
dd($array)
array:4 [▼
0 => array:5 [▼
"id" => 1
"text" => "The First"
"tags" => array:3 [▼
0 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
1 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
2 => array:5 [▼
"id" => 5
"name" => "Tag 5"
"pivot" => array:2 [▶]
]
]
]
1 => array:5 [▼
"id" => 2
"text" => "The Second"
"tags" => array:1 [▼
0 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
]
]
2 => array:5 [▶]
3 => array:5 [▶]
]
我需要一个数组中的数据,它看起来更像这样:
['id' => '4','name' => 'Tag 4'],
['id' => '4','name' => 'Tag 4'],
['id' => '5','name' => 'Tag 5'],
['id' => '4','name' => 'Tag 4'],
我目前正在尝试:
use IlluminateSupportArr;
$tags = Arr::get($array, 'tags.name');
returns Null
然后,我想在我试图获得的数组上使用unique((方法挑选出唯一的值来显示它们
您可以通过这种方式使用
foreach($array as $tag) {
$var = $tag['tags'];
// or this way as well
$var1 = $tags = Arr::get($tag, 'tags.name');
}
如果你使用的是PHP,那么我会制作一个foreach
:
foreach($array->getTags() as $tag) {
dd($tag);
}