使用Eloquent ORM中的find选择特定列

时间:2016-01-18 10:26:09

标签: php mysql laravel eloquent

在Laravel中如何使用find获取特定列?我知道你可以这样做:

$user = User::where('u_id', '=', 1)
        ->get(['firstname', 'lastname']);

有找到这种方法吗?这就是我目前所拥有的:

$user = User::find(1);

3 个答案:

答案 0 :(得分:4)

您有两种选择。

首先,您可以传递列以选择find()的第二个参数:

$user = User::find(1, ['firstname', 'lastname']);

其次,尽管有点专业化,find()只是用于执行查询的方法,因此您可以事先正常修改查询(添加选择,轮询,订单等)。因此,您只需在执行select()

之前添加find()即可
$user = User::select(['firstname', 'lastname'])->find(1);

答案 1 :(得分:0)

这是另一种方式,类似于@patricus。

$did = User::findOrFail($id, ['first_name', 'last_name']);

答案 2 :(得分:-1)

您可以使用

$user = User::find(1);

然后直接使用属性来访问它

$user->firstname;