在routes.php
中使用“Route :: model”时Route::model('pizza', 'Pizza');
Route::get('edit/{pizza}', 'PizzaController@edit');
如果在DB中找不到“id”,我收到错误,如何在此状态下显示自定义消息?
感谢,
答案 0 :(得分:1)
默认情况下,如果模型绑定失败,Laravel将抛出404错误。所以你要做的是提供一个闭包作为第三个参数来覆盖行为并抛出不同的错误:
Route::model('pizza', 'Pizza', function()
{
throw new ModelNotFoundException; // or NotFoundHttpException or PizzaNotFoundException...
});
请参阅:http://laravel.com/docs/routing#route-model-binding
一旦你有了这个,你可以捕捉异常并按照app/start/global.php
请参阅:http://laravel.com/docs/errors#handling-errors
或者不是抛出异常,而是使用闭包来向特定页面返回Redirect
响应,并带有指示错误的flash消息。