有没有类似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:文档读过,但估计不特别认真,大部分时间当工具书用。。。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
$user = User::where('status', 1)->get(['id', 'name', 'tel'])->keyBy('id');
2年前 评论
____Laravel (楼主) 2年前
讨论数量: 10
$user = User::where('status', 1)->get(['id', 'name', 'tel'])->keyBy('id');
2年前 评论
____Laravel (楼主) 2年前

可以用map组装返回

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

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

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

实现方式:

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

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