私は、ソルバーこのこのコードオブジェクトを{key、value}からキー=>値で配列を作成する方法は?
$service_list = Service::all();
$services = [];
foreach ($service_list as $item){
$services[$item['id']] = $item['name'];
}
が、どのようにphp_array機能を使用してそれを行うことで? そのドロップダウンのための
私は、ソルバーこのこのコードオブジェクトを{key、value}からキー=>値で配列を作成する方法は?
$service_list = Service::all();
$services = [];
foreach ($service_list as $item){
$services[$item['id']] = $item['name'];
}
が、どのようにphp_array機能を使用してそれを行うことで? そのドロップダウンのための
$service_list = Service::all()->toArray();
all()
がcollection
を返します選択します。 collection
はtoArray()
のメソッドをサポートします
を使用してコレクションを配列に変換し、array_combine()
を使用してそれから連想配列を作成します。
$service_list = Service::all()->toArray();
$services = array_combine(array_column($service_list, 'id'), array_column($service_list, 'name'));
ないあなたは、アレイ方式で構築されたPHPSを使用する必要がありますが、我々はクエリビルダとコレクションクラスにpluck
を持っている理由を確認してください。
$services = Service::pluck('name', 'id');
// $services->all(); // for the actual array contained
これは、クエリでname
とid
を選択して、あなただけname
フィールドを含むid
をキーコレクションを提供します。
$services = Service::all();
$services_array = $services->pluck('name', 'id')->all();
すでにモデルのあなたのコレクションを持っている場合(上記のコードは、結果とすべてのフィールドおよび水和モデルを照会している)、それが持っていたとして、あなたが少なく、効率的なのに(同じ結果を達成するためにコレクションにpluck
を使用することができますその後、すべてのフィールドのクエリ、水和物モデル、それらからそれらの2つのフィールドを引く)
私は、これは2次元配列ではなく、連想配列を作成すると思います。 – Barmar