覆盖雄辩的关系结果数据

时间:2019-05-29 06:11:15

标签: laravel eloquent laravel-5.8

我在项目中使用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'];

1 个答案:

答案 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