22

Laravel 5.2 には非常に優れたヘルパーがあります。これらを使用して次のことを行いたいと思います。

私は雄弁なモデルコレクションを持っています:

$lesson->users(); // returns Eloquent collection of 3 users

pluck()関数は便利ですが、単一のパラメーターしか取得できません。ただし、次のように、との2 つのパラメーターを使用して出力を取得したいと考えています。idname

[
1=>['id'=>10,'name'=>'Michael Dook'],
2=>['id'=>16,'name'=>'Henry Babcock'],
3=>['id'=>19,'name'=>'Joe Nedd']
]

これに対するエレガントな解決策はありますか?

4

9 に答える 9

31

これが最新の質問ではないことはわかっていますが、後で誰かがグーグルから偶然見つけた場合は、収集方法のみを参照してください

$lesson->users()->only("id", "name")->toArray();あなたが求めているものでなければなりません。

于 2016-09-01T20:58:14.613 に答える
5
$result = $lesson->users()->map(function($item){ 
  return array('id' => $item->id, 'name' => $item->name)
});

トリックを行う必要があります。

于 2018-08-14T12:49:59.607 に答える