只有某些列的Laravel模型查询

时间:2017-01-12 13:30:46

标签: mysql laravel select

我想创建一个查询,从表“users”获取所有用户,我只需要user.id。

$users = User::all();

这将获得整个模型用户,但这对我的应用程序来说是一个真正的性能问题。数据太多了。

我需要为每个用户附加一些数据,以便我可以计算工作时间。

所以问题是如何在没有任何其他数据的情况下获取所有用户,除了$ user-> id?

4 个答案:

答案 0 :(得分:2)

$name = DB::table('users')->select('id')->get();

答案 1 :(得分:1)

对于某些专栏,我认为这是最好的:

$users = User::select('id')->get();

请参阅Documentation

答案 2 :(得分:0)

使用pluck()方法:

$users = User::pluck('id');
  

pluck方法检索给定键的所有值

答案 3 :(得分:-1)

仅使用id获取所有用户对象:

$users = User::select('id')->get();

将所有id作为直接的int值

根据文件:https://laravel.com/docs/5.3/queries#selects

指定选择条款(效率最高)

$users = DB::table('users')->select('id')->get();

从一行中检索单个列(但这将处理所有列)

$name = DB::table('users')->where('name', 'John')->pluck('name');