有没有类似pluck但可以查询多个字段的函数

1. 当前使用的 Laravel 版本?

Laravel 9

2. 问题描述?

[//]: <> (代码问题的话,请提供一份最短的,可复现问题的代码。或者相关代码)
use App\Models\User;
...
$user = User::where('status',1)->pluck('name','id');
//结果
['1'=>'nameA','2'=>'nameB' ,'3'=>'nameC']
//我的需求,假如有pluckMulti
$user = User::where('status',1)->pluckMulti('name,tel','id');
//结果
[
'1'=>['name'=>'nameA' ,'tel'=>'telA'],
'2'=>['name'=>'nameB' ,'tel'=>'telB']
]
//只能通过foreach来处理吗

Laravel有没有类似以上说法的pluckMulti函数

PS:文档读过,但估计不特别认真,大部分时间当工具书用。。。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
$user = User::where('status', 1)->get(['id', 'name', 'tel'])->keyBy('id');
1年前 评论
____Laravel (楼主) 1年前
讨论数量: 10
$user = User::where('status', 1)->get(['id', 'name', 'tel'])->keyBy('id');
1年前 评论
____Laravel (楼主) 1年前

可以用map组装返回

1年前 评论
____Laravel (楼主) 1年前
____Laravel (楼主) 1年前
deatil (作者) 1年前
____Laravel (楼主) 1年前

我记得好像是maptogroup还是什么 集合《Laravel 9 中文文档》 对应的闭包写好就有这样的效果 如果不是的话就再找找吧

1年前 评论
____Laravel (楼主) 1年前

实现方式:

$user = User::where('test',1)->select(['id','name','tel','sex'])->get();
$userKv = $user->mapWithKeys(function($item,$key){
     return [$item[''id']=>$item] ;
});
1年前 评论
$user = User::where('status', 1)->get(['id', 'name', 'tel'])->keyBy('id');
1年前 评论
____Laravel (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!