我有一些编码,我想使用laravel 5.1从数据库中的select选项值更新多个数据。我正在使用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() !!}
现在我的编码已经可以使用了
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句