سؤال

when use "Route::model" in routes.php

Route::model('pizza', 'Pizza');

Route::get('edit/{pizza}', 'PizzaController@edit');

I receive error if "id" not found in DB, how to display custom message in this status?

thanks,

هل كانت مفيدة؟

المحلول

By default, Laravel will throw a 404 error if the model binding fails. So what you'll want to do is provide a closure as a third parameter to override the behavior and throw a different error:

Route::model('pizza', 'Pizza', function()
{
    throw new ModelNotFoundException; // or NotFoundHttpException or PizzaNotFoundException...
});

See: http://laravel.com/docs/routing#route-model-binding

Once you have that in place, you can catch the exception and handle it however you'd like in app/start/global.php

See: http://laravel.com/docs/errors#handling-errors

Or instead of throwing an exception, you could just use the closure to return a Redirect response to a specific page with a flash message indicating the error.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top