使用 laravel 5.1 从数据库中<选择> <选项>更新多个数据


Update multiple data from <select> <option> in database using laravel 5.1

我有一些编码,我想使用 Laravel 5.1 从数据库中的选择选项值更新多个数据。 我正在使用 ajax onchange="form.submit((",所以我可以在不提交的情况下更新数据。这是我的观点

{!! Form::model($UserAccess,['method' => 'POST','url'=>['setting/updaterole']]) !!}
                        <table class="dataTable" id="table-user">
                            <thead class="grey lighten-3">
                                <tr>
                                    <td class="center-align no-sort">Photo</td>
                                    <td class="center-align">Fullname</td>
                                    <td class="center-align">Rule</td>
                                    <td class="center-align">Action</td>
                                </tr>
                            </thead>
                            <tbody>
                                <?php $hitung = $UserAccess->count(); ?>
                                @foreach($UserAccess as $list)
                                <tr>
                                    <td class="center-align" width="50">
                                        @if($list->avatar == NULL)
                                        <img class="circle responsive-img" width="50" src="{{asset(config('param.url_uploads').'blank.jpg')}}"/>
                                        @else
                                        <img class="circle responsive-img" width="50" src="{{$list->avatar}}"/>
                                        @endif
                                    </td>
                                    <td class="red1-text lato-bold center-align">{{$list->name}}</td>
                                    <td class="center-align" width="150">
                                        <select id="selectrole" name="selectrole" onchange="form.submit()">
                                            @foreach($UserAccessRole as $listRole)
                                                <option value="{{$listRole->id}}" @if($list->user_access_role_id_fk == $listRole->id) selected="selected"@endif>{{$listRole->name}}</option>
                                            @endforeach
                                        </select>
                                    </td>
                                    <input type = "hidden" value = "{{$list->id}}" name = "idmain">
                                    @if($hitung > 2)
                                        <td class="center-align">
                                            <a href = "remove_access/{{$list->id}}/delete" >Remove Access<a/>
                                        </td>
                                    @else
                                        <td class="center-align">Remove Access</td>
                                    @endif
                                </tr>
                                @endforeach
                            </tbody>
                        </table>
                        {!! Form::close() !!}

这是我的控制器

public function doUpdateAccessRole(Request $request)
  {
    $UserAccess = UserAccess::orderBy('name', 'asc')->get();
    $id_main = $request->input('idmain');
    $id_role = $request->input('selectrole');
    $Role = UserAccess::findOrFail($id_main);
    $Role->user_access_role_id_fk = $id_role;
    $Role->update($request->all());
    return redirect('setting/useraccess');
  }

这是我的路线

Route::post('setting/updaterole',['uses'=>'SettingController@doUpdateAccessRole','as'=>'updateaccessrole']);

使用我的编码更新功能已经工作,但只有最后一个 ID 已更新。 请帮助我,谢谢

我的代码已经工作了。 只需在我的控制器中添加 foreach。 像这样,我的控制器:

public function doUpdateAccessRole(Request $request)
{
$UserAccess = UserAccess::all();
foreach($UserAccess as $list)
{
  $id_main = $request->input('idmain'.$list->id);
  $id_role = $request->input('selectrole'.$list->id);
  $Role = UserAccess::find($id_main);
  $Role->user_access_role_id_fk = $id_role;
  $Role->update($request->all());
}
  return redirect('setting/useraccess');
}

这是我的观点:

{!! Form::model($UserAccess,['method' => 'POST','url'=>['setting/updaterole']]) !!}
                        <table class="dataTable" id="table-user">
                            <thead class="grey lighten-3">
                                <tr>
                                    <td class="center-align no-sort">Photo</td>
                                    <td class="center-align">Fullname</td>
                                    <td class="center-align">Rule</td>
                                    <td class="center-align">Action</td>
                                </tr>
                            </thead>
                            <tbody>
                                <?php $hitung = $UserAccess->count(); ?>
                                @foreach($UserAccess as $list)
                                <tr>
                                    <td class="center-align" width="50">
                                        @if($list->avatar == NULL)
                                        <img class="circle responsive-img" width="50" src="{{asset(config('param.url_uploads').'blank.jpg')}}"/>
                                        @else
                                        <img class="circle responsive-img" width="50" src="{{$list->avatar}}"/>
                                        @endif
                                    </td>
                                    <td class="red1-text lato-bold center-align">{{$list->name}}</td>
                                    <td class="center-align" width="150">
                                        <select id="selectrole" name="selectrole{{$list->id}}" onchange="form.submit()">
                                            @foreach($UserAccessRole as $listRole)
                                                <option value="{{$listRole->id}}" @if($list->user_access_role_id_fk == $listRole->id) selected="selected"@endif>{{$listRole->name}}</option>
                                            @endforeach
                                        </select>
                                    </td>
                                    <input type = "hidden" value = "{{$list->id}}" name = "idmain{{$list->id}}">
                                    @if($hitung > 2)
                                        <td class="center-align">
                                            <a href = "remove_access/{{$list->id}}/delete" >Remove Access<a/>
                                        </td>
                                    @else
                                        <td class="center-align">Remove Access</td>
                                    @endif
                                </tr>
                                @endforeach
                            </tbody>
                        </table>
{!! Form::close() !!}

现在我的编码已经工作了。