2017-09-29 5 views
1

を変換は、私はこのような特定の配列フォーマットを必要とするlaravelコレクション

$ids = $items->transform(function ($item) { 
     return [$item->id => ['order' => rand(1,10)]]; 
    })->all(); 

は与える:

array:3 [ 
    0 => array:1 [ 
    1 => array:1 [ 
     "order" => 8 
    ] 
    ] 
    1 => array:1 [ 
    2 => array:1 [ 
     "order" => 3 
    ] 
    ] 
    2 => array:1 [ 
    3 => array:1 [ 
     "order" => 10 
    ] 
    ] 
] 

を私は配列を変換するにはどうすればよいです私は上記の必要な特定の方法ですか? TIA

答えて

3

あなたはmapWithKeysを使用することができ、ドキュメントはここにある:https://laravel.com/docs/5.5/collections#method-mapwithkeys

$keyed = $items->mapWithKeys(function ($item) { 
    return [$item->id => ['order' => rand(1,10)]]; 
}); 

$ids = $keyed->all(); 
+0

グレート!これで解決します。ありがとう! – jsd

関連する問題