这是我的代码:
$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
]
如您所见,没有email
和age
列。我该如何解决?
答案 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。我希望这会有所帮助。