循环浏览所有复选框,然后将状态发布到数据库laravel 5.4

时间:2018-10-08 18:59:50

标签: laravel laravel-5

我有一张桌子(见下文),我正在雄辩地根据控制器上的键获取所有数据。

我的表在ErrorID列和FactorID列都包含重复

Error    Factor    Attribute    PK_ID    Comment ErrorID  FactorID AttID
X1        YY        Att1          1
X1        YY        Att2          2 
X1        YY        Att3          3 
X2        ZZ        Att4          4 
X4        ZZ        Att5          5 

数据以以下格式表示:

<h6>Error</h6>
  <h5>related Factor</h5>
   <type='checkbox'id='related attribute 1 value'>
   <textarea id='related attribute 1 value comment'></textarea>
   <type='checkbox'id='related attribute 2 value'>
   <textarea id='related attribute 2 value comment'></textarea>
    //... and so on 
 <h6>Error</h6>
     <h5>related Factor</h5>
   <input type='checkbox' id='related attribute 1 value'>
   <textarea id='related attribute 1 value comment'></textarea>
   <type='checkbox' id='related attribute 2 value'>
   <textarea id='related attribute 2 value comment'></textarea>
    //... and so on 

在我看来,使用foreach可以做到:

 @foreach($errorForView as $error)
<h5>{{$error['error']}}</h5>
@foreach($error['factors'] as $factor)
    <h6>{{$factor['factor']}}</h6>

    @foreach($factor['attributes'] as $attr)
        <input type='checkbox' name='Att[]' value='{{$attr}}'>
        <input type='textarea' name='comment[]' >
    @endforeach

  @endforeach
@endforeach

但是,我无法将更新发布或从生成的表单插入数据库。

我尝试使用[](数组)从所有请求中收集值,但这将错误的数据以错误的顺序插入到数据库中。

如何循环遍历每个复选框,然后收集将代表我的属性值的值,并遍历每个文本区域,以收集数据以评论表中的列

        $num = count($request->input('Att'));
        for ($i = 0; $i < $num; $i++) {
        $att = (int)$request->input('Att')[$i];
        $rowz= table::where('id', '=', $SN)->first();
        if ($request->has('Att')[$i]) {
            $row->Value = 0;
        } else {
            $row->Value = 1;
            $row->Comment = $request->input('comment')[$i];
        }
        $row->save();
    }

0 个答案:

没有答案