Php 如何使用laravel雄辩地只拿一个领域?

Php 如何使用laravel雄辩地只拿一个领域?,php,laravel,eloquent,Php,Laravel,Eloquent,我是新来的,我正在看一个视频教程,教Laravel3,不幸的是Laravel4和Laravel3很不一样,我不知道为什么?我担心拉维5号和拉维4号可能会有很大的不同 我将从我的用户表中选择关于一个字段的所有数据: $user=new user; $username=$user::find(1)->username; return $username; 上面的代码为true,但只返回用户的用户名,其id等于1,但我想执行以下操作: $user=new user; $

我是新来的,我正在看一个视频教程,教Laravel3,不幸的是Laravel4和Laravel3很不一样,我不知道为什么?我担心拉维5号和拉维4号可能会有很大的不同

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

    $user=new user;
    $username=$user::find(1)->username;
    return $username;
上面的代码为true,但只返回用户的用户名,其id等于1,但我想执行以下操作:

$user=new user;
$username=$user::all()->username;
return $username;
此代码有错误$user::all()->username错误为:

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


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

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

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



不要担心拉威尔5号。有些事情会改变,但很多事情会保持不变。包括所有关于雄辩和数据库查询的内容(至少据我所知)

你能告诉我all()和get()@Kermani
all()之间的区别吗?
只能静态使用
get()
没有这样的限制。@Kermani这是一个有点离题的问题。你能发布一个新的问题来询问差异吗?另外,其他用户也会以这种方式更快地找到它。这个方法所做的只是作为
get
的静态代理,但是它不需要被调用,因为
get
也可以被称为“静态”,也就是说,由于神奇的方法,它被转发到底层的
雄辩的\Builder
。@JarekTkaczyk,虽然这是完全正确的,我怀疑OP是否理解。。。(科玛尼无犯罪行为)
$usernames = User::lists('username');
$usernames = User::lists('username', 'id');