/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { parent::boot($router); $router->bind("users", function ($slug) { try { $user = User::whereSlug($slug)->with("state", "user_type")->firstOrFail(); // User::with()->findOrFail($id); return $user; } catch (ModelNotFoundException $e) { return abort("404"); } }); $router->bind("students", function ($slug) { try { $student = User::whereSlug($slug)->with("state", "user_type")->firstOrFail(); // User::with()->findOrFail($id); return $student; } catch (ModelNotFoundException $e) { return abort("404"); } }); $router->bind("universities", function ($slug) { try { $university = University::whereSlug($slug)->with("students", "faculties")->firstOrFail(); // User::with()->findOrFail($id); return $university; } catch (ModelNotFoundException $e) { return abort("404"); } }); $router->bind("companies", function ($slug) { try { $company = Company::whereSlug($slug)->firstOrFail(); // User::with()->findOrFail($id); return $company; } catch (ModelNotFoundException $e) { return abort("404"); } }); }