如何在Laravel中通过发布请求更新多行

时间:2019-01-17 10:46:47

标签: php laravel

当我提交代码时,如何通过laravel中的发帖请求更新多行,它显示了类似Array to string conversion的错误。

如果有任何身体帮助,我如何解决此问题?

enter image description here

在此处发布表格

enter image description here

 <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);

            }
    }

1 个答案:

答案 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);

}