почему параметр в группе маршрутизации требуется во всех методах маршрутизации подресурса

У меня есть группа маршрутов, которая имеет такой параметр:

Route::prefix('/website/{account}')->group(function () {
Route::group(['middleware' => ['auth']],
Route::resource('/member', 'MemberController');
});
});

Как вы видите, есть account параметр в группе маршрутов.

Сейчас показать member-create страница, к которой я добавил это MemberController :

public function create ($account)
{
return view('admin/pages/members/members-create',compact('account'));
}

Теперь, когда я хочу создать форму, которая отправляет запрос store функция MemberController как это (в member-create.blade.php):

{!! Form::open(array('action' =>['MemberController@store'],  'id'=>'createMemberForm')) !!}

Ларавел говорит, что:

Missing required parameters for [Route: member.store] [URI: website/{account}/member].

Это потому, что я должен добавить $account параметр для store функция. на самом деле, потому что я использовал параметр в группировке маршрутов, я всегда должен сначала отправить значение в качестве этого параметра create функция, а затем оттуда пройти store Функция, которая, естественно, отнимает у меня много времени.

Есть ли способ решить эту проблему, когда параметр $ account отправляет функции автоматически или любым другим способом?

0

Решение

Я не думаю, что есть простой способ отправить его автоматически. Вы можете явно использовать:

{!! Form::open(array('url' =>route('member.store', ['account' => 'account_value']),  'id'=>'createMemberForm')) !!}

чтобы передать действительное значение в маршрут, при необходимости можно создать вспомогательный метод, но другого разумного способа сделать это автоматически нет. Когда вы используете параметр в маршруте, это обычно означает, что вам это нужно, поэтому, возможно, вам следует подумать, действительно ли он вам нужен, если вы хотите заполнить его автоматически?

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector