2016-11-21 8 views
0

я имею в моем контроллерепользовательских имен в маршрутизаторах ресурсов

public function details($id) 
    { 
     $claim = Claim::findOrFail($id); 
     $details = $claim->details; 

     return response()->json([], 200); 
    } 

и у меня есть в моих маршрутах

Route::resource('claims', 'Admin\\ClaimsController',['names'=> ['details'=>'admin.claims.details'], 'only' => ['index','store','update','destroy','details']]); 

когда я бегу php artisan route:list я не вижу admin.claims.details (админ/претензии/1/детали) в списке

документация здесь довольно расплывчата, поэтому я спрашиваю, как правильно настроить пользовательский маршрут? Как указать, если это «POST» или «GET»?

ответ

1

Чтобы переопределить имена маршрутов действий контроллера ресурсов по умолчанию, вы можете передать массив имен с вашими параметрами.

Например:

Route::resource('claims', 'ControllerClassName', [ 
    'names' => [ 
     'index' => 'admin.claims.details', 
     'create' => 'admin.claims.create', 
     // etc... 
    ], 
    'only' => [ 
     'index','store','update','destroy','details' 
    ] 
]); 

REF: https://laravel.com/docs/5.2/controllers#restful-naming-resource-routes


Ниже приведены примеры настройки пользовательских именованных прибудете/почтовых маршрутов.

GET Route

Route::get('claims', ['as' => 'admin.claims.details', uses => 'ControllerClassName']); 

POST Route

Route::post('claims', ['as' => 'admin.claims.details', uses => 'ControllerClassName']); 

REF: https://laravel.com/docs/5.2/routing#named-routes

+0

Оу! Я думаю, что я неправильно понял прецедент для «имени маршрутизатора». У меня есть метод «подробности», для которого я хочу использовать «/ admin/Claim/{id}/details» в качестве маршрута к методу контроллера. – Kendall

+1

Вы можете использовать 'Route :: get ('admin/Claim/{id}/details', ['as' => 'admin.claims.details', uses => 'ControllerClassName @ details']); 'и в вашем методе сведений о контроллере у вас будет доступ к переменной' $ id'. –

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