【发布时间】:2015-10-29 17:47:46
【问题描述】:
下午所以,
我一直在尝试在 ::findOrFail() 查询执行 ModelNotFoundException 错误时找出/传递模型名称的方法。
最近,在最终用户可能会删除订单的应用程序中,这已成为我的一个问题。如果有人为该 URL 添加了书签或以其他方式尝试访问与已删除订单关联的 URL,我会抛出异常并显示 404 页面。
模型声明:
use Illuminate\Database\Eloquent\SoftDeletingTrait;
class Order extends Eloquent
{
use SoftDeletingTrait;
...
}
查找或失败:
$order = $this->organisation->orders()->with('events', 'events.user', ...)->where('id', $id)->firstOrFail();
异常处理
use Illuminate\Database\Eloquent\ModelNotFoundException;
App::error(function(ModelNotFoundException $e)
{
return Redirect::route('404')->withMessage(modelNameHere);
});
有没有办法区分哪个模型引发了异常并考虑到这一点显示自定义错误。
谢谢
【问题讨论】:
-
您是否在型号名称中添加了“使用”?
标签: php laravel exception model-view-controller model