2013-12-22 3 views
2

Я заметил, что параметры, которые вы указали в префиксе маршрута внутри группы, также предоставляются всем контроллерам, которые находятся в пределах определенной группы, что имеет смысл.Параметры маршрутизации группы Laravel с префиксом

Например:

Route::group(array('prefix' => 'team/{id}/{slug}', 'before' => 'auth'), function() { 
Route::get('documents/{document}', 'controllers\\team\\[email protected]'); 
}); 

метод показать DocumentsController должен затем следовать порядку всех параметров:

show($id, $slug, $document)

Однако, я действительно не нужен идентификатор команды и слизняка в DocumentController они просто для довольно URLS. Есть в любом случае передать только параметры, заданные для этого маршрута к DocumentsController (т.е. исключить префикс Params) следующим образом:

show($document) 

ответ

1

Вы можете разобрать шаблон маршрута, прежде чем он попадает в контроллеры.

Вы бы сделали это в методе boot().

Это очень сложная проблема, но я могу дать вам небольшое руководство. Взгляните на «Illuminate \ Routing \ Route», и есть функция setPattern() в классе Route, на который вы должны посмотреть.

+0

Благодарю вас за совет. В настоящее время я использую Route :: getCurrentRoute() -> getParameter («document»), но синтаксический анализ звучит более разумно, учитывая, что у меня есть эта проблема на многих контроллерах, поэтому я дам ему шанс. –

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