validate([ 'logo' => ['sometimes', 'image'], 'start_invoice_number' => ['required', 'integer'], 'roles' => ['required'] ]); if ($request->hasFile('logo')) { $validated['logo'] = Storage::disk('public')->put("Logo", $request->file('logo')); } $validated['roles'] = explode(',', $validated['roles']); foreach ($validated as $key => $value) { InvoiceSetting::updateOrCreate( [ 'name' => $key ], [ 'value' => is_array($value) ? json_encode($value) : $value ] ); } return response()->noContent(); } }