Php 来自ModelNotFoundException的Laravel 4.2模型名称
下午那么 我一直在尝试解决当::findOrFail()查询执行ModelNotFoundException错误时,是否有方法查找/传递模型名称 最近,在一个终端用户可能会删除订单的应用程序中,这已成为我的一个问题。如果某人已将URL标记为书签,或试图访问与已删除订单关联的URL,我将抛出异常并显示404页面 示范声明:Php 来自ModelNotFoundException的Laravel 4.2模型名称,php,laravel,exception,model-view-controller,model,Php,Laravel,Exception,Model View Controller,Model,下午那么 我一直在尝试解决当::findOrFail()查询执行ModelNotFoundException错误时,是否有方法查找/传递模型名称 最近,在一个终端用户可能会删除订单的应用程序中,这已成为我的一个问题。如果某人已将URL标记为书签,或试图访问与已删除订单关联的URL,我将抛出异常并显示404页面 示范声明: use Illuminate\Database\Eloquent\SoftDeletingTrait; class Order extends Eloquent {
use Illuminate\Database\Eloquent\SoftDeletingTrait;
class Order extends Eloquent
{
use SoftDeletingTrait;
...
}
FindOrFail:
$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);
});
有没有一种方法可以区分哪个模型抛出了异常,并显示一个自定义错误
谢谢
try
{
$post = Post::FindOrFail($id)
}
catch (NotFoundHttpException $e)
{
abort(404);
}
$post=post::find($post\u id)
如果(!isset($post))
{中止(404);
}
try
{
$post = Post::FindOrFail($id)
}
catch (NotFoundHttpException $e)
{
abort(404);
}
您可以根据需要自定义它。答案是是。找出导致异常的模型非常简单。一旦捕获了ModelNotFoundException对象,就可以对其调用getModel(),以获取可以找到的模型的类名。是否为模型名添加了“use”?非常感谢,这正是我要查找的。如果您碰巧知道在文档中可以找到这一点,请您为我指出正确的方向。