代码之家  ›  专栏  ›  技术社区  ›  codePhree

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

  •  1
  • codePhree  · 技术社区  · 7 年前

    我有由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>
    

     $('#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 回复  |  直到 7 年前
        1
  •  0
  •   ishegg    7 年前

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

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