首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Laravel5.1更新数据库中<select> <option>中的多个数据

使用Laravel5.1更新数据库中<select> <option>中的多个数据
EN

Stack Overflow用户
提问于 2016-02-15 02:48:45
回答 1查看 1.8K关注 0票数 1

我有一些编码,我想更新多个数据从数据库中的选择选项值使用Laravel5.1。我使用ajax onchange="form.submit()",所以我可以不提交就更新数据。这是我的观点

代码语言:javascript
复制
{!! 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() !!}

这是我的控制器

代码语言:javascript
复制
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');
  }

这是我的路线

代码语言:javascript
复制
Route::post('setting/updaterole',['uses'=>'SettingController@doUpdateAccessRole','as'=>'updateaccessrole']);

使用我的代码更新功能已经工作了,但是最后一个id已经被更新了。请帮帮我,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 06:21:52

我的密码已经起作用了。只需在我的控制器中加上foreach即可。就像这样,我的控制器:

代码语言:javascript
复制
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');
}

这就是我的观点:

代码语言:javascript
复制
{!! 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() !!}

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35400755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档