我在项目中使用Laravel-Metable软件包。此程序包使用键meta
名称和值eloquent
对象返回收集对象。
Here,您可以看到打包数据结果的屏幕截图。
如何覆盖结果数据并获取这种类型的数组数据:
$meta = [
[
'id' => 1,
'key' => "Meta Name",
'value' => "Meta Value"
],
[
'id' => 2,
'key' => "Meta Name",
'value' => "Meta Value"
],
];
我将通过延迟加载来加载模型元:
use Metable;
protected $with = ['meta'];
答案 0 :(得分:1)
您可以为此使用集合map方法,因此应该是这样的:
$result = $metaItems->map(function($meta) {
return [
'id' => $meta->id,
'key' => $meta->key,
'value' => $meta->value
];
})->values();
// then $result->toArray(); should give you the expected result