Laravel 在空数组上设置 null

Laravel set null on empty array

我有这样的数据json data

我的问题是,如果没有数据 children,如何将 children 设置为 null。

Menu Parent model

Menu children Model

Controller

试试这个

$data[] = [
    'id' => $men->id,
    'title' => $men->title,
    'icon' => $men->icon,
    'children' => (count($men->menuchild) > 0) ? $men->menuchild: null,
    ];

我建议使用以下代码:‌

$menus = Menuparent::all();

$data = [];

foreach ($menus as $menu){
    $data[] = [
        'id' => $menu->id,
        'title' => $menu->title,
        'icon' => $menu->icon,
        'children' => (count($menu->menuchild) > 0) ? $menu->menuchild: null,
    ];
}

return response()->json([
    'data' => $data
]);