Forms Laravel表单更新多个记录

Forms Laravel表单更新多个记录,forms,laravel,Forms,Laravel,我有一个用户列表,对于列表中的每个用户,都有一个选择框,其中显示所选的值角色值 我正在考虑一种方法,如何允许使用submit按钮将每个用户的所有修改发送到控制器的一个方法,该方法应该更新角色。我不知道 这是正确工作的表单: {!!Form::open(['url' => ['admin/users/edit'], 'class' => 'form-horizontal', 'method' => 'POST']) !!} @foreach($users as $user)

我有一个用户列表,对于列表中的每个用户,都有一个选择框,其中显示所选的值角色值

我正在考虑一种方法,如何允许使用submit按钮将每个用户的所有修改发送到控制器的一个方法,该方法应该更新角色。我不知道

这是正确工作的表单:

{!!Form::open(['url' => ['admin/users/edit'], 'class' => 'form-horizontal', 'method' => 'POST']) !!}

@foreach($users as $user)
    <div class="form-group">
        <div class="list-user-element">{!! $user->name !!}</div>
        <div class="list-user-email">{!! $user->email !!}</div>
        <div>
            {!! Form::select('role', $roles, $user->role->label, ['class' => 'form-control']); !!}
        </div>
    </div>
@endforeach

<div class="form-group">        
    <div class="col-sm-offset-2 col-sm-5"> 
        {!! Form::submit('Update', array('class' => 'btn btn-warning')) !!}
    </div>
</div>

{!! Form::close() !!}  
这里给出了错误:

public function editRegisteredUsersRoles(Request $request)
{
    dd($request);
} 

你可以这样做

{!! Form::select('users[' . $user->id . '].role', $roles, $user->role->label, ['class' => 'form-control']); !!}
然后在控制器中

public function editRegisteredUsersRoles(Request $request)
{
    foreach ($request->users as $user_id => $role) {
       //...
    }
} 

我不是100%确定你的问题是什么,你是说当你
dd($Request)
时,请求中没有所有的用户角色吗


我认为问题在于,你在用户之间循环,扔下同名的选择框。通常,当您发送POST请求时,您可以通过说
$\u POST[再次检查您的路线]来访问信息
public function editRegisteredUsersRoles(Request $request)
{
    foreach ($request->users as $user_id => $role) {
       //...
    }
}