Как сопоставить объект одному значению из этого объекта?

Я хочу отобразить свойство объекта пользователь к его имени.
Я пытаюсь отобразить это так, но это ничего не меняет.

Мой код для получения результатов:

$data = $stats
->with('user')
->get()
->map(function ($value, $key) {
$value['user'] = $value['user']['name'];
return $value;
});

Текущие приведенные данные:

{
"data": [
{
"total": 4,
"user": {
"id": 3,
"name": "test1"}
}
]
}

Желаемый результат:

{
"data": [
{
"total": 4,
"user": "test1"}
]
}

1

Решение

Как это:

$data = $stats
->with('user')
->get()
->map(function ($value, $key) {
return [
'total' => $value['total'],
'user' => $value['user']['name'],
];
});
1

Другие решения

Попробуйте этот код

$data = $stats
->with('user')
->get()
->map(function ($value, $key) {
$userName = $value['user']['name'];
unset($value['user']);
$value['user'] = $userName;
return $value;
});
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector