validated(); $user->sites()->syncWithoutDetaching(Arr::get($validatedData, 'sites')); if (Arr::get($validatedData, 'gitlab_id')) { $user->gitlabUser()->create([ 'gitlab_id' => Arr::get($validatedData, 'gitlab_id'), ]); } }); } /** * Update the specified resource. * * @param \Illuminate\Http\Request $request * @param mixed $user * @param mixed $callback * @return \Illuminate\Http\RedirectResponse */ public function update( Request $request, mixed $user, mixed $callback = null, ): \Illuminate\Http\RedirectResponse { return parent::update($request, $user, function ($request, $user) { $validatedData = $request->validated(); $user->sites()->sync(Arr::get($validatedData, 'sites')); if (Arr::get($validatedData, 'gitlab_id')) { $user->gitlabUser()->updateOrCreate( ['user_id' => $user->id], ['gitlab_id' => $validatedData['gitlab_id']], ); } else { $user->gitlabUser()->delete(); } }); } }