Quiero obtener los datos del campo de niños u obtener el recuento de niños.
Estoy obteniendo así: $temp = json_decode($request->get('tempData');
Aquí está mi carga útil json:
tempData:[{ "id":"c625", "name":"Chapter 1", "children":[ { "id":3, "type":"study material", "content":"Demo Study Material Title 2" }, { "id":4, "type":"study material", "content":"Demo Study Material Title 3" }, { "id":5, "type":"study material", "content":"Demo Study Material Title 4" } ], "type":"chapter" } ]Puede hacer que los niños cuenten para todos los elementos en la matriz tempData usando la colección
collect(json_decode($request->get('tempData'), true)) ->mapWithKeys(fn($item) => [$item['id'] => count($item['children'])]) ->all();para obtener el resultado del recuento de niños para cada identificación:
[ "c625" => 3 ]Podría crear una nueva matriz y empujar a los niños en esa matriz con un bucle foreach.
$temp = json_decode($request->get('tempData'); $children = array(); $child_count = 0; foreach ($temp['children'] as $child) { $child_count++; array_push($children, $child); }