如何使用laravel 5.4将多个表单字段保存到数据库中

时间:2017-08-26 23:06:44

标签: php laravel-5 laravel-5.2

我有多个由jquery生成的表单字段,但只将最后一条记录保存到数据库

<tr>
    <td><input class="form-control" id="quantity[]" name="quantity[]" placeholder="Quantity" type="text"></td>
    <td><input class="form-control" id="price[]" name="price[]" placeholder="Enter Pice" type="text"></td>
</tr>

生成其他表单字段的jquery在这里

 $('#priceTable').append(
     "<tr> <td><input class='form-control' id='quantity[1]' name=\"quantity[]\" placeholder='Quantity' type='text'></td><td><input class='form-control' name=\"price[]\"  id='price[1]' +' placeholder='Enter Pice' type='text'></td> </tr>"\
 );

php页面上的结果显示在下面

array([quantity] => Array ( [0] => 45 [1] => 60 ) [price] => Array ( [0] => 45000 [1] => 60000 )

假设将其发布到数据库但仅将一个发布到数据库的循环

 for ($i=0; $i <= $noQuantity; $i++ )
        {
           if(!empty($price)){
               $data = [
                   'price' => $priceRe[$i],
                   'quantity' => $quantity[$i]
               ];
               $price->create($data);
               return redirect('/admin123/category');
           }

         }

1 个答案:

答案 0 :(得分:0)

它只创建一个,因为你在循环内重定向,所以它创建了第一个,然后将用户发送到另一个页面。尝试将其移出:

for ($i=0; $i <= $noQuantity; $i++ )
{
    if(!empty($price)){
        $data = [
            'price' => $priceRe[$i],
            'quantity' => $quantity[$i]
        ];
        $price->create($data);
    }
}
return redirect('/admin123/category');