Я пытаюсь вернуть сумму, используя sum (), извлекая «продолжительность» от каждого пользователя в $ collection
Структура:
USER>CONTRACT_RESULTS> ДНИ> ДАТА> ДЕЯТЕЛЬНОСТЬ> ДЕЯТЕЛЬНОСТЬ
Я хочу запросить «тип» действия и вернуть время, связанное с этим действием.
У меня оно работало, когда оно былогораздо менее вложенный, используя:
$collection->whereIn('activity',['off'])->sum('duration');
Но я в растерянности, так как они так вложены, а имена массивов являются динамическими
Вот примерструктура для 1 пользователя в $ collection:
array:13 [▼
"user_id" => 52
"contract_results" => array:2 [▼
"2019-10-21 - 2019-10-31" => array:10 [▼
"hours_a_week" => "20"
"days" => array:1 [▼
"2019-10-21" => array:2 [▼
"bank_holiday" => "no"
"activities" => array:2 [▼
"10:00 - 22:00" => array:5 [▼
"type" => "driving"
"from" => "10:00"
"to" => "22:00"
"duration" => 720
"night_minutes" => 60
]
"22:00 - 00:00" => array:5 [▼
"type" => "driving"
"from" => "22:00"
"to" => "00:00"
"duration" => 120
"night_minutes" => 120
]
]
]
]
]
"2019-11-01 - 2019-11-10" => array:10 [▼
"hours_a_week" => "10"
"days" => array:1 [▼
"2019-11-01" => array:2 [▼
"bank_holiday" => "yes"
"activities" => array:1 [▼
"10:00 - 22:00" => array:5 [▼
"type" => "availability"
"from" => "10:00"
"to" => "22:00"
"duration" => 720
"night_minutes" => 60
]
]
]
]
]
]
]
Я новичок в этом, поэтому большое спасибо за ваш вклад!