我希望结果只包含Laravel 4.2中没有表列名的值。例如,
MultiIndex
结果是
$recs = DB::table('table_name')
->select('id', 'title')
->get();
但我希望只有结果而不是列名,比如
array(2) {
[0]=>
object(stdClass)#863 (2) {
["id"]=>
int(2)
["title"]=>
string(8) "my title"
}
[1]=>
object(stdClass)#862 (2) {
["id"]=>
int(3)
["title"]=>
string(10) "my title 2"
}
}
是的,我可以通过循环结果并创建没有列名的新数组来实现。但有没有办法用Laravel以这种方式获得结果?
答案 0 :(得分:3)
尝试
$recs = DB::table('table_name')->pluck('id', 'title');
dd($recs->all());
答案 1 :(得分:1)
您可以使用map()
和array_values()
方法:
$recs->map(function($i) {
return array_values((array)$i);
})
我不确定Laravel 4.2,但我刚测试过它,它在Laravel 5.3中完美运行。如果它在4.2中不起作用,请使用原生array_map()
函数。
答案 2 :(得分:1)
尝试$recs->flatten()->all()
<强>更新强>
由于您的$recs
看起来像是错误中的数组。尝试转换为collection
。我希望这将适用于v4.2
$recsCollection = new \Illuminate\Database\Eloquent\Collection($recs);
$recsCollection->flatten()->all();
答案 3 :(得分:0)
DB::table('table_name')->all()->lists('id', 'title')->toArray()