最近使用laravel写接口获取部门数据,希望取出的结果是如下形式的数据
laravel查询将一个字段作为结果的键,其他字段作为值
$ret = [
['id1'=>'name1'],
['id2'=>'name2'],
['id3'=>'name3'],
...
];
看了laravel文档发现keyBy方法:
keyBy()
keyBy 方法以指定的键作为集合的键。如果多个集合项具有相同的键,则只有最后一个集合项会显示在新集合中:
$collection = collect([
['product_id' => 'prod-100', 'name' => 'Desk'],
['product_id' => 'prod-200', 'name' => 'Chair'],
]);
$keyed = $collection->keyBy('product_id');
$keyed->all();
/*
[
'prod-100' => ['product_id' => 'prod-100', 'name' => 'Desk'],
'prod-200' => ['product_id' => 'prod-200', 'name' => 'Chair'],
]
*/