0
私がしようとしているのは、オブジェクトの配列からキーと値のペアを持つ配列を返す必要があるということです。Laravel Collectionsを使ったオブジェクトのリファクタリングが失敗する
apiから、このようなオブジェクトが表示されます。
array:8 [▼
0 => TargetingSearch {#229 ▼
#data: array:6 [▼
"id" => "6005609368513"
"name" => "Software"
"audience_size" => 565991450
"path" => array:4 [▶]
"description" => ""
"topic" => "Technology"
]
#_type_checker: TypeChecker {#228 ▶}
}
簡単な方法は、オブジェクトをループして値を配列にプッシュすることです。
$codes = [];
foreach($objects as $object) {
$codes[] = [
'id' => $object->id,
'name' => $object->name,
];
}
これは私に必要なものです。
['id' => 321, 'name' => "item1"],
['id' => 321, 'name' => "item1"],
['id' => 321, 'name' => "item1"],
私はこれを管理するのが少し難しいと思っています。私がやろうとしているのは少し読みやすいものです。
たとえば、Laravelコレクションクラスを使用すると、このようなことができます。
$codes = collect($objects)->pluck('id', 'name')->toArray();
ここでの問題は、キーが返されないことです。
["item1" => "123"],
["item2" => "321"],
["item3" => "213"],
私は
$codes = collect($objects)->only('id', 'name')->toArray();
を使用している場合は、オブジェクト自体が全てを台無しにされているため、それは空の配列を返します。
誰でもこれを解決する方法を知っていますか?あなたが使う "マップ" することができます