我想請選擇brand
name
只有$collect
我該怎麼做才能做到這一點?只在Laravel摘下兒童的子女
電流:
$collect = collect([
0 => [
['name' => 'iPhone 6S', 'brand' => ['name' => 'Apple', 'type' => 'brand', 'id' => 1]],
],
1 => [
['name' => 'Galaxy S7', 'brand' => ['name' => 'Samsung', 'type' => 'brand', 'id' => 2]],
],
]);
預期結果:
$collect = collect([
0 => [
['name' => 'iPhone 6S', 'brand' => ['name' => 'Apple']],
],
1 => [
['name' => 'Galaxy S7', 'brand' => ['name' => 'Samsung']],
],
]);
編輯
我嘗試使用地圖()和laravel提供的每個()集合,但他們沒有幫助。
EDIT(ROSS)
這工作:
$collect->transform(function ($item) {
$itemData = collect($item);
return $itemData->transform(function ($item, $key) {
if($key == 'brand') {
$item = array_only($item, 'name');
}
return $item;
});
});
回頭吧,是吧?大聲笑我可以問,爲什麼你需要選擇某些數據?下拉菜單? –
@MikeBarwick現在這個問題是不同的。這不是下拉菜單,但我試圖不通過我的API公開數據。 – Coder
在這種情況下,只是'foreach'。這是最安全,最乾淨和可讀的代碼。 –