将请求对象转换为数组以进行数据库插入

时间:2019-02-04 10:37:33

标签: php laravel-5

我已经使用jquery输入了可复制的表单,如何插入所有数据

    <tbody id="visites">
    <tr id="ligne">
    <td> <input type... name="id[]"></td>
    <td> <input type... name="date[]"></td>
    <td> <input type... name="statut[]"></td>
    </tr>
    </tbody>
    <script type="text/javascript">
      function dupliquer()
      {
        $( "#ligne" ).clone().appendTo( "#visites" );
      }
    </script>

这是请求袋

        id  
          0 "1"
          1 "1"
          2 "1"
          3 "1"
        date    
          0 null
          1 null
          2 null
          3 null
        statut  
          0 null
          1 null
          2 null
          3 null

可填充模型为

['id','date','statut']

我想将request()包转换为类似的内容

    $data = [
             {id:1,date:'..',statut:'3'},
             {id:1,date:'..',statut:'3'},
             {id:1,date:'..',statut:'3'}
            ]

并执行此操作:

    foreach($data as ....)
    { 
      Model::create([...]);
    }

总之这是请求袋 Request bag 这就是我想要的 Data 我希望我已经很清楚了^^谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样做

$dataArray = [];
foreach($request['id'] as $key => $value){
   // create new empty object
   $ob = new \stdClass;
   $ob->id = $request['id'][$key];
   $ob->date = $request['date'][$key];
   $ob->status = $request['statut'][$key];

   // push the new object to the array
   $dataArray[] = $ob;
}