user(); try { if (!$user->selected_site_id) { $site = $user->sites()->firstOrFail(); $user->selected_site_id = $site->id; $user->saveOrFail(); } if ($request->query('userSite')) { $site = $user->sites() ->where('site_id', $request->query('userSite')) ->firstOrFail(); $user->selected_site_id = $site->id; $user->saveOrFail(); } elseif (!Site::where('id', $user->selected_site_id)->exists()) { $site = $user->sites() ->where('site_id', $request->query('userSite')) ->firstOrFail(); $user->selected_site_id = $site->id; $user->saveOrFail(); } } catch (ModelNotFoundException $e) { abort(400, 'Vous n\'avez pas de site administrable'); } return $next($request); } }