如何选择表格的某些列?

时间:2016-11-08 09:59:05

标签: php mysql sql laravel

这是我的代码:

$arr = Users::all()->toArray();

它返回所有表格列的数组。但我并不需要所有专栏。我只需要返回这些列:'id', 'name', 'email', 'age'。我已经对此进行了搜索,我发现了这一点:(使用pluck()功能)

$arr = Users::pluck('id', 'name', 'email', 'age')->toArray();

但它并没有返回预期的结果。它返回:

array:7 [▼
  "John" => 1
  "Peter" => 2
  "Jack" => 3
  "Ali" => 4
  "Teresco" => 5
  "Mark" => 6
  "Barman" => 7
]

如您所见,没有emailage列。我该如何解决?

3 个答案:

答案 0 :(得分:4)

您可以使用select这样的方法

来实现
Users::select('id', 'name', 'email', 'age')
        ->get()
        ->toArray();

答案 1 :(得分:1)

您可以像get()那样收集列数组:

$arr = Users::get(array('id', 'name', 'email', 'age'))->toArray();

答案 2 :(得分:0)

试试这个:

Users::with(array('user'=>function($query){
        $query->select('id','username');
    }))->get();

它只会从其他表中选择id和username。我希望这会有所帮助。