覆盖 eloquent 个关系结果数据
Override eloquent relationship result data
我在我的项目中使用 Laravel-Metable 包。此包 return 集合对象使用键 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'];
您可以为此使用集合 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
我在我的项目中使用 Laravel-Metable 包。此包 return 集合对象使用键 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'];
您可以为此使用集合 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