【发布时间】:2017-01-29 15:39:21
【问题描述】:
我是 laravel 的新手。我正在使用循环将一些复选框值保存到数据库中,但它只会将数组中的最后一个值保存到数据库中。
这是我的表格
<form action="{{url('resortf')}}" method="post" enctype="multipart/form-data">
<input hidden name="h_id" value="{{ $hotel->id}}">
@foreach($facility as $facilities)
<div class="col-md-4">
<img src="{{$facilities->image}}" width="50px" height="50px;">
<label>{{$facilities->name}}</label>
<input type="checkbox" value="{{$facilities->id}}" name="facilities[]">
</div>
@endforeach
<div class="row">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" class="btn btn-success" value="Next">
<input type="reset" class="btn btn-success" value="Reset">
</div>
</form>
表格工作正常; $facilities 和 $hotel 是从控制器传递过来的。
这是存储功能
public function store(Request $request) {
$resortfacility = new Resortfacility;
$loop = $request->get('facilities');
foreach ($loop as $value){
$resortfacility->h_id = $request->get('h_id');
$resortfacility->f_id = $value;
$resortfacility->save();
}
}
有没有其他方法可以做到这一点?
【问题讨论】: