当我提交代码时,如何通过laravel中的发帖请求更新多行,它显示了类似Array to string conversion
的错误。
如果有任何身体帮助,我如何解决此问题?
在此处发布表格
<form class="form-horizontal" method="POST" action="{{ route('multiple') }}">
{{csrf_field()}}
@foreach($classes as $class)
<div class="">
<input type="hidden" class="form-control" name="id[]" value="{{$class->id}}">
<div class="col-md-12">
<input id="name" type="text" class="form-control" name="name[]" value="{{$class->name}}">
</div>
</div>
<div class="">
<div class="col-md-12">
<input id="class" type="text" class="form-control" name="class[]" value="{{$class->class}}">
</div>
</div>
@endforeach
<div class="form-group">
<div class="col-md-8 col-md-offset-4">
<button type="submit" class="btn btn-primary">
submit
</button>
</div>
</div>
</form>
this is method
public function post_loop(Request $request)
{
foreach ($request as $data )
{
$values = array(
'name' => $request->name,
'class' => $request->class,
);
DB::table('multiple_data')->whereIn('id',$request->id)->update($values);
}
}
答案 0 :(得分:0)
您的代码是完全错误的。 request
是一个对象,具有许多有关请求的数据。但是您将它用作获取输入的数组。
尝试此代码。
$ids = $request->input('id');
$names = $request->input('name');
$classes = $request->input('class');
foreach($ids as $k => $id){
$values = array(
'name' => $names[$k],
'class' => $classes[$k],
);
DB::table('yourTable')->where('id','=',$id)->update($values);
}