【发布时间】:2018-12-13 17:33:48
【问题描述】:
如果我想使用 eloquent 获取数据库中第一个用户的名称,我可以这样做:
$user = User::select('name')->first()->pluck('name');
// or $user = User::first()->pluck('name');
echo $user;
仅获取此用户的名称作为字符串。
但是,如果我仅使用查询生成器尝试相同的操作:
$user = DB::table('users')->select('name')->first()->pluck('name');
echo $user;
我得到异常:
调用未定义的方法 stdClass::pluck()
但不先使用它会起作用:
$user = DB::table('users')->select('name')->where('id',1)->pluck('name');
echo $user;
不能使用查询生成器将pluck 与first 一起使用,还是我做错了什么?
PS。当然,我知道我可以使用$user->name 显示任何属性而不使用pluck,但我只是好奇为什么使用Eloquent 它有效,而使用Query Builder 它只有在没有first 和pluck 时才有效
【问题讨论】:
标签: laravel laravel-4 eloquent