如何将对象映射到该对象的单个值?

How to map object to single value from this object?

我想将对象 属性 user 映射到它的名称。
我试图像那样映射它,但它并没有改变任何东西。

我获取结果的代码:

$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"
        }
    ]
}

像这样:

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

试试这个代码

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