为什么所有子资源路由方法都需要路由组中的参数
why paramter in a route group is required in all sub resource route methods
我有一个路由组,其参数如下:
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'));
}
现在,当我想创建一个向 MemberController
的 store
函数发送请求的表单时(在 member-create.blade.php
中):
{!! Form::open(array('action' =>['MemberController@store'], 'id'=>'createMemberForm')) !!}
laravel 表示:
Missing required parameters for [Route: member.store] [URI: website/{account}/member].
那是因为,我必须在store
函数中添加一个$account
参数。事实上,因为我在路由分组中使用了一个参数,所以我必须首先将一个值作为该参数发送到 create
函数,然后从那里将它传递给 store
函数,这自然需要很多时间我的时间。
有什么方法可以解决 $account 参数自动或任何其他方式发送到函数的问题
我认为没有简单的方法可以自动发送它。您显然可以使用:
{!! Form::open(array('url' =>route('member.store', ['account' => 'account_value']), 'id'=>'createMemberForm')) !!}
将有效值传递给路由,如果需要可以创建辅助方法,但没有其他合理的方法可以自动执行此操作。当你在路由中使用参数时,通常意味着你需要它,所以如果你想自动填充它,也许你应该考虑是否真的需要它?
我有一个路由组,其参数如下:
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'));
}
现在,当我想创建一个向 MemberController
的 store
函数发送请求的表单时(在 member-create.blade.php
中):
{!! Form::open(array('action' =>['MemberController@store'], 'id'=>'createMemberForm')) !!}
laravel 表示:
Missing required parameters for [Route: member.store] [URI: website/{account}/member].
那是因为,我必须在store
函数中添加一个$account
参数。事实上,因为我在路由分组中使用了一个参数,所以我必须首先将一个值作为该参数发送到 create
函数,然后从那里将它传递给 store
函数,这自然需要很多时间我的时间。
有什么方法可以解决 $account 参数自动或任何其他方式发送到函数的问题
我认为没有简单的方法可以自动发送它。您显然可以使用:
{!! Form::open(array('url' =>route('member.store', ['account' => 'account_value']), 'id'=>'createMemberForm')) !!}
将有效值传递给路由,如果需要可以创建辅助方法,但没有其他合理的方法可以自动执行此操作。当你在路由中使用参数时,通常意味着你需要它,所以如果你想自动填充它,也许你应该考虑是否真的需要它?