使用Laravel数组助手访问嵌套数组中的值



我想访问此嵌套数组的名为标记的父元素中名为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);
}

最新更新