$engagement]); } public function update(UpdateEngagement $request, Engagement $engagement) { $engagement->fill(array_replace_recursive( $this->clearImagesAndLabelsArrays($engagement->toArray()), $request->validated() )); $engagement->saveOrFail(); return redirect()->route('bo.engagements.edit', $engagement->id) ->with('success', 'Enregistré !'); } private function clearImagesAndLabelsArrays(array $engagement): array { foreach ($engagement['content'] as &$block) { if (isset($block['content'])) { foreach ($block['content'] as &$input) { if ($input['inputType']['value'] === InputType::imageArray()->value) { $input['value'] = []; } if ($input['inputType']['value'] === InputType::labelArray()->value) { $input['value'] = []; } } } } return $engagement; } }