如何使用laravel Eloquent只占一个字段?

时间:2014-12-02 13:31:13

标签: php laravel eloquent

我是Laravel的新手,我正在观看教学Laravel 3的视频教程,不幸的是Laravel 4与laravel 3非常不同,我不知道为什么?而且我担心laravel 5可能会与laravel 4如此不同。

我将从用户表中选择一个字段的所有数据:

    $user=new user;
    $username=$user::find(1)->username;
    return $username;

顶级代码工作正常,但只返回用户的用户名,即id等于1,但我想做类似下面的事情:

$user=new user;
$username=$user::all()->username;
return $username;

此代码有错误 $ user :: all() - > username; 错误是:

  

未定义的属性:Illuminate \ Database \ Eloquent \ Collection :: $ username

1 个答案:

答案 0 :(得分:1)

您可以使用lists()功能,描述为here
它将返回一个包含一个属性的所有值的数组。

(您也不需要创建实例来检索所有用户)

$usernames = User::lists('username');

如果您希望将另一列作为数组的键(例如ID),请执行以下操作:

$usernames = User::lists('username', 'id');

不要担心Laravel 5.有些事情会改变但很多事情会保持不变。包括关于Eloquent和DB一般查询的所有内容(至少据我所知)