我有原始查询:$data = DB::select('...');
。
结果,$data
是一个集合数组:
array:999 [
0 => {#331
+"v": 1
}
1 => {#328
+"v": 2
}
2 => {#332
+"v": 3
}
...
]
我想获取数组数组:
array:999 [
0 => array:1 [
"v" => 2
]
1 => array:1 [
"v" => 3
]
...
]
我可以遍历$data
并强制转换为array
:
$arr = [];
foreach ($data as $i) {
$arr[] = (array)$i;
}
//other way
$arr = array_map(function ($i) {
return (array)$i;
}, $data);
但是对于大型数据集来说,这似乎不是最佳方法。
答案 0 :(得分:0)
使用toArray()方法进行集合。
你可以打电话
$data = DB::select(...);
$data = collect($data)->toArray();
https://laravel.com/docs/5.8/collections#method-toarray