我有一个路由组,其参数如下:
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 :(得分:1)
我认为没有简单的方法可以自动发送。你显然可以使用:
{!! Form::open(array('url' =>route('member.store', ['account' => 'account_value']), 'id'=>'createMemberForm')) !!}
将有效值传递给路由,如果需要可以创建帮助方法但是没有其他合理的方法可以自动执行。当您在路线中使用参数时通常意味着您需要这样,所以如果您想自动填写它,也许您应该考虑是否真的需要它?