Bas*_*saa 1 php mysql orm laravel eloquent
在Laravel中$user = Auth::user()返回当前登录的用户.从这个用户我想只检索几列到键值数组.我有什么选择?
例:
$user = Auth::user()->fetch('id', 'username', 'email');
Run Code Online (Sandbox Code Playgroud)
应该给我
[
"id" => 1,
"username" => "John Doe",
"email" => "john@doe.example"
]
Run Code Online (Sandbox Code Playgroud)
我搜索了Eloquent文档,但还没有找到我正在寻找的功能.我错过了吗?这样的功能不存在吗?
如果您的主要目标是获取数组而不是对象,并且数组中的额外字段不是问题,因为您需要的字段存在,您可以将用户模型转换为数组:
Auth::user()->toArray();
(array) Auth::user();
Run Code Online (Sandbox Code Playgroud)
但是,如果您需要输出只有这3个属性 - 您必须进行一些额外的编码.我建议在User模型中创建一个包含公开字段列表的属性.然后重写toArray()方法(或创建另一个方法),只返回列表中的字段.