2015-02-04 5 views
0

Я сейчас играю с Laravel, пытаясь реализовать с ним прошлый проект, чтобы увидеть, как он работает. Я столкнулся с небольшой ошибкой ресурсов url. Согласно документам Laravel, вам разрешены URL-адреса с несколькими переменными. Спасибо за помощь Laravel!Ошибка с Laravel Routing

Route::resource('agents/report/{id}', '[email protected]'); 
Route::resource('agents/report/{id}/{month}/{year}', '[email protected]'); 

LogicException 
Route pattern "/agents/reports/{id}/{{id}}" cannot reference variable name "id" more than once. 
+0

Извините, но [то, что ваш вопрос именно ] (http://www.whatisyourquestionexactly.com), и какие предупреждения/ошибки вы получаете? –

+0

Почему вы используете здесь маршруты 'resource'? –

+0

Покажите нам свой след. –

ответ

0

Route::resource(..) создает whole bunch of routes с одной строки кода, который может или не может быть то, что вы хотите.

Для вашего конкретного USECASE, попробуйте следующее:

Простой подход

Route::get('agents/report/{id}', '[email protected]'); 
Route::get('agents/report/{id}/{month}/{year}', '[email protected]'); 

Или, если вы хотите, чтобы оставаться последовательным использованием именованные маршруты:

Route::get('agents/report/{id}', ['as' => 'agents.reportById', 'uses' => '[email protected]']); 
Route::get('agents/report/{id}/{month}/{year}', ['as' => 'agents.reportByIdAndDate', 'uses' => '[email protected]']); 

Если вы только начинают изучать laravel, я могу рекомендовать Jeffrey Ways бесплатно Laracasts Серия Laravel 4 from Scratch, которая покрывает все, что вам нужно, чтобы получить старт и, самое главное, получить право Laravel. Он разделен на 16 частей, поэтому вы можете потреблять только те части, которые вам нужны. Он также содержит скринкаст на resourceful routing, который может быть вам интересен.

0

при использовании resourcefull маршрутизации синтаксис должен быть, как этот

Route::resource('agents/report', 'ClientController'); 

, если вы хотите использовать функции с контроллерами можно использовать следующий код

Route::ger('agents/report/{id}', '[email protected]'); 
Route::get('agents/report/{id}/{month}/{year}', '[email protected]');