我只是跟着一些教程学习,目前我所做的是:
我的 App/Exceptions/Handler.php
<?php
...
use Illuminate\Database\Eloquent\ModelNotFoundException;
...
public function render($request, Exception $e)
{
if ($e instanceof ModelNotFoundException){
abort(404);
}
return parent::render($request, $e);
}
我的
UsersController
看起来像这样:...
public function edit($id)
{
$data = User::findOrFail($id);
$roles = Role::where('title', '!=', 'Super Admin')->get();
return View('admin.user.edit', compact(['data', 'roles']));
}
...
使用以上代码,如果我访问
http://my.url/users/10/edit
,我得到了NotFoundHttpException in Application.php line 901:
错误,这是因为我的记录中没有id为10,但是使用User::find($id);
语句,我会得到一个没有数据的正常视图,因为我的记录中没有id为10。我想要的是显示默认的404页面,然后在记录无法找到时重定向到某个地方或返回一些内容,应该如何使用
User::findOrFail($id);
来实现?我该怎么做?非常感谢,任何帮助都将不胜感激。
ps:.env APP_DEBUG = true