Как я могу использовать маршруты ресурсов с вложенными контроллерами (которые имеют родительские модели) - PullRequest
1 голос
/ 18 мая 2019

Я создаю модели Elequent со следующей структурой:

Event->hasMany(Invite)
Invite->belongsTo(Event)

Я создаю контроллер с помощью следующей ремесленной команды:

php artisan make:controller -mInvite -pEvent EventInvitesController --resource

Теперь, если я создаю пользовательские маршруты, например:

Route::get('event/{event}/invite', 'EventInvitesController@index')->name('event.invites.index');
Route::post('event/{event}/invite', 'EventInvitesController@store')->name('event.invites.store');
Route::get('event/{event}/invite/{invite}', 'EventInvitesController@show')->name('event.invites.show');
Route::put('event/{event}/invite/{invite}', 'EventInvitesController@update')->name('event.invites.update');
Route::delete('event/{event}/invite/{invite}', 'EventInvitesController@destroy')->name('event.invites.destroy');
Route::get('event/{event}/invite/{invite}/edit', 'EventInvitesController@edit')->name('event.invites.edit');

Тогда все отлично работает.Но мне было интересно, есть ли способ сделать это, например

Route::resource('event-invites', 'EventInvitesController');

Когда я пытался это сделать, у маршрутов есть только один параметр {event_invites}, когда мне нужно два.

Есть ли способ включить маршрутизацию для родительской модели в Route :: resource ()?Если нет, то как бы мне расширить расширение Route для предоставления такого метода?

1 Ответ

1 голос
/ 18 мая 2019

Используйте точечную нотацию:

Route::resource('events.invites', 'EventInvitesController');

Это создаст набор маршрутов для сообщений, включающих идентификатор пользователя.Например:

Ознакомьтесь с документацией здесь:

https://laravel.com/docs/5.1/controllers#restful-nested-resources

...