2015-09-09 5 views
0

Как я могу сделать следующее Laravel 5.1:Динамическая маршрутизация в Laravel 5,1

Route::get('/users/{user}', ['as' => $user, 'uses' => '[email protected]']); 

Код выше выдает ошибку:

Undefined variable: user 
+0

Может быть, вы должны определить '$ user' –

+0

Что вы имеете в виду? – V4n1ll4

+0

@ V4n1ll4 вы пытаетесь использовать переменную, которая в настоящее время не указана enywhere –

ответ

1

маршрутизации терпит неудачу, потому что вы определили переменную $ пользователя как имя маршрута, поэтому Laravel возвращает ошибку.

Названия маршрутов полезны для обратной маршрутизации, например, когда вы определяете атрибут перенаправления или действия в своей форме.

Проверьте документацию, чтобы узнать, как передавать переменную по маршрутам.

EDIT: Здесь ссылка на документ для Laravel 5.1 (что похоже на предыдущую версию кстати). Хорошей практикой является passibg переменная или массив переменных с использованием замыкания.

Route::get('/users/{user}', function($user) { 
return $user;}); 

И это один с помощью правильного именования маршрута:

Route::get('/users/{user}', ['as' => 'userroute', function($user) { 
return $user;}]); 

http://laravel.com/docs/5.1/routing#route-parameters

Смежные вопросы