当路由不存在时,Laravel错误处理

时间:2016-06-18 11:31:42

标签: php laravel

我有一条显示我的用户的路线'我的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');
        }

2 个答案:

答案 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