Я хочу использовать Route :: get с параметрами маршрута, функции и где. следующий мой код маршрута:
Route::get('/view/{id}', array('uses' =>'BookController@view','as' => 'book.view'), function($id)
{
die('hello');
})->where('id', '[A-Za-z]+');
поэтому, когда я звоню URL view/4
откроется страница 404 и когда я позвоню view/abc
он будет выполнять код контроллера, но ни в том, ни в другом случае код функции не выполняется.
Как я могу это исправить?
Для маршрутизации вы уже наложили ограничение на переменную «id», и оно должно быть только строкой «-> где (‘id’, ‘[A-Za-z] +’);»
Таким образом, здесь нет проблем, если вы используете номер, он должен получить 404
А для проблемы с контроллером вы кодируете его неправильно, потому что вы добавляете контроллер, и в то же время вы пишете Closure, и вы должны писать только один.
Так попробуй это
Route::get('/view/{id}', ['uses' =>'BookController@view','as' =>'book.view'])->where('id', '[A-Za-z]+');
и для использования номера попробуйте это
Route::get('/view/{id}', ['uses' =>'BookController@view','as' =>'book.view']);
Спасибо
Других решений пока нет …