Я начинаю работать в Laravel и хочу больше узнать об использовании обработки ошибок, особенно о объекте ModelNotFoundException
.
<?php
class MenuController extends BaseController {
function f() {
try {
$menus = Menu::where('parent_id', '>', 100)->firstOrFail();
} catch (ModelNotFoundException $e) {
$message = 'Invalid parent_id.';
return Redirect::to('error')->with('message', $message);
}
return $menus;
}
}
?>
В моей модели:
<?php
use Illuminate\Database\Eloquent\ModelNotFoundException;
class Menu extends Eloquent {
protected $table = 'categories';
}
?>
Конечно, для моего примера нет записей в категориях, у которых есть parent_id > 100
, это мой unit test. Поэтому я ожидаю сделать что-то с ModelNotFoundException
.
Если я запустил http://example.co.uk/f в своем браузере, я получаю:
Illuminate \ Database \ Eloquent \ ModelNotFoundException
No query results for model [Menu].
страница ошибки laravel - что ожидается, но как мне перенаправить на мой маршрут "ошибка" с заранее определенным сообщением? то есть.
<?php
// error.blade.php
{{ $message }}
?>
Если бы вы могли привести мне пример.