我有个雄辩的查询,它返回一个集合:
$items = Item::get(['id', 'name']);
当我转换为JSON时,我得到了:
[
{id: 1, name: "some name"},
{id: 2, name: "some other name"}
]
我想要这样的结果:
[
[1, "some name"],
[2, "some other name"]
]
如何使用Laravel 5.6和精通的ORM实现这一目标?
答案 0 :(得分:3)
您可以使用toArray方法
$items = Item::get(['id', 'name'])->map(function($item) {
return array_values($item->toArray());
});
您的$ item变量将具有以下内容:
Illuminate\Support\Collection {
all: [
[
1,
"Peter",
],
[
2,
"Juan",
],
];
和json表示形式:
[[1, "Peter"], [2, "Juan"]]
答案 1 :(得分:0)
使用pluck方法来实现
$items = \App\Item::pluck('name', 'id');
答案 2 :(得分:0)
我遇到有关内部toArray()
的错误,因此这对我有用:
$items = Item::get(['id', 'name'])->map(function($item) {
return array_values((array)$item);
})->toArray();