我想知道,如果有可能,抛出自定义异常,在某些情况下/查询时未找到Laravel的Eloquent模型?
例如,如果我有Page
模型,我该如何抛出自定义PageNotFound
例外?
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Page extends Model {
}
此模型将抛出ModelNotFoundException
给定的消息:
No query results for model [App\Page].
答案 0 :(得分:4)
在app/Exceptions/Handler.php
中尝试将以下代码添加到渲染函数的顶部
public function render($request, Exception $e)
{
if ($e
instanceof
\Illuminate\Database\Eloquent\ModelNotFoundException)
{
abort(404);
}
return parent::render($request, $e);
}
修改强>
捕获ModelNotFoundException对象后,可以在其上调用 getModel()
以获取模型的类名。