Laravel 覆盖雄辩的关系结果数据

Laravel 覆盖雄辩的关系结果数据,laravel,eloquent,laravel-5.8,Laravel,Eloquent,Laravel 5.8,我在我的项目中使用这个包。此包返回集合对象,使用in键meta名称和on值eloquent对象 您可以看到软件包数据结果屏幕截图 如何覆盖结果数据并获取此类数组数据: $meta = [ [ 'id' => 1, 'key' => "Meta Name", 'value' => "Meta Value" ], [ 'id' => 2, 'key' => "Me

我在我的项目中使用这个包。此包返回集合对象,使用in键
meta
名称和on值
eloquent
对象

您可以看到软件包数据结果屏幕截图

如何覆盖结果数据并获取此类数组数据:

$meta = [
    [
        'id' => 1,
        'key' => "Meta Name",
        'value' => "Meta Value"

    ],

    [
        'id' => 2,
        'key' => "Meta Name",
        'value' => "Meta Value"

    ],
];
我将使用惰性加载加载我的模型元:

use Metable;

protected $with = ['meta'];

您可以使用collection方法进行此操作,因此它应该是这样的:

$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

我使用了您提供的作为
$metaItems
结果的屏幕截图,并将代码应用于这些结果。但是你可以把它添加到模型中。现在你的结果就像,但是我需要在父数组键上使用元名称。我需要将键替换为默认数组号@nakov@AndreasHunter如果有帮助,就考虑接受它: