我有一条显示我的用户的路线'我的laravel项目中的个人资料。但是当你去一个网址并填写一个不存在的用户名时,它会产生一个令人讨厌的错误,显然是因为该用户名在数据库中不存在。
有谁知道我怎么能错误处理这个?
这是我的路线:
Route::get('user/{name}', 'userController@showUser');
这是我的功能:
public function showUser($name)
{
$user = User::where('name' , '=', $name)->firstOrFail();
return view('user.show', compact('user'));
}
这是我尝试的但是因为我收到此错误似乎无法正常工作: 查看未找到
$user = User::where('name' , '=', $name)->first();
if(!empty($user)){
return view('user.show', compact('user','projects'));
}else{
return view('user');
}
答案 0 :(得分:1)
您可以使用第一种方法从用户表中获取用户名
public function showUser($name){
$user = User::where('name' , '=', $name)->first();
if(!empty($user)){
return view('user.show', compact('user'));
}
}
}
让我们确保您的视图文件位于用户文件夹
答案 1 :(得分:1)
试试这个
$user = User::where('name' , '=', $name)->first();
if(!empty($user)){
return view('user.show', compact('user','projects'));
}else{
return redirect()->route('/routeWhereYouWannaSend');
}
有关详细信息,请参阅HTTP Responses
第二个解决方案:如果您想要在根本不存在的路线上重定向到主页Link