Php 如何使用laravel将多个数据从html插入数据库

Php 如何使用laravel将多个数据从html插入数据库,php,jquery,laravel,dynamic,shopping,Php,Jquery,Laravel,Dynamic,Shopping,我有这个动态表,这是我问题的预览: 如何将它们插入到不同的表中?。。。我应该使用DB::table('detalle_compras')->insert();或者应该用输入替换它们 PD:此视图类似于购物车 提前谢谢 首先要知道的是,您可以使用数组[]符号作为name属性为同一名称发送多个值。如图所示: <input type="text" name="test[]" /> <input type="text" name="test[]" /> <input typ

我有这个动态表,这是我问题的预览:

如何将它们插入到不同的表中?。。。我应该使用DB::table('detalle_compras')->insert();或者应该用输入替换它们

PD:此视图类似于购物车


提前谢谢

首先要知道的是,您可以使用
数组[]
符号作为name属性为同一名称发送多个值。如图所示:

<input type="text" name="test[]" />
<input type="text" name="test[]" />
<input type="text" name="test[]" />
(一、二、三是在三个输入框中输入的值)

我们如何利用这一点?

对于每一行,添加带有名称和
[]
的输入字段。例如
name=“数据比索[]”
。确保这些行在表单中,以便它们与其他行一起提交

然后,在控制器中。使用普通的
输入::get()
接收值。您可以使用任何一个值,因为所有值的数量应该相同,以获得行数,并循环每行以提取值并保存模型

for($i = 0; $i < count(Input::get('data-peso')); $i++){
    $detalle = new DetalleCompra();
    $detalle->peso = Input::get('data-peso')[$i];
    $detalle->precio_bruto = Input::get('data-monto')[$i];
    // the other values...
    $detalle->save();
}
for($i=0;$ipeso=Input::get('data-peso')[$i];
$detalle->precio_bruto=Input::get('data-monto')[$i];
//其他值。。。
$detalle->save();
}
应该已经是这样了


最后,让我说,还有其他方法可以完成同样的事情。例如,您可以使用javascript在客户端处理行,并使用
json
将它们发送到服务器。但是,使用此解决方案,您不需要更改太多代码以使其正常工作。

因此,除了尝试将其插入错误的表之外,其他一切都可以正常工作?我需要将该数据保存到另一个名为detalle_compras的表中…@lukasgeiter是对的,我认为您没有充分解释所有内容。如果此表中存在列,则您正在设置所有值并保存,它们将显示在db中。我将测试上述所有条件是否正确。@user3654532存储每个添加的输入是什么意思?我看到了存储函数,它将输入值写入模型并保存。那它不起作用呢?在我看来,我应该这样做:将Fecha、No factura、proveedor、persona de contacto、total、descuento、itbms、total bruto存储到一个名为compras的表中(这在控制器中可以正常工作),并将我的模型名为“Compra”和受保护的$table='compras.'2。我的问题是,我应该在另一个名为“detalle_compras”的表中存储每一个添加了值的行:sexo、color、raza、tipo、precio x kg、peso、monto和“compras”中的id_compra。但是我不知道如何保存它。@user3654532您想在添加时保存每一行还是一次保存所有行?@lukasgeiter是的,一次保存所有行
public function getCreate()
{
    $client_options = DB::table('cliente_proveedores')->orderBy('nombre', 'asc')->where('proveedor', '=', 1)->where('activo', '=', 1)->lists('nombre','id');
    $tipos_ganados = DB::table('tipos_ganados')->orderBy('tipo', 'asc')->where('activo', '=', 1)->lists('tipo','id');
    $razas = DB::table('razas')->orderBy('raza', 'asc')->where('activo', '=', 1)->lists('raza','id');
    return View::make('compras.create', array('client_options' => $client_options, 'tipos_ganados' => $tipos_ganados, 'razas' => $razas));
}


/**
 * Store a newly created resource in storage.
 *
 * @return Response
 */
public function store()
{
    $compra = new Compra;
    $compra->fecha = Input::get('fecha');
    $compra->num_factura = Input::get('num_factura');
    $compra->id_proveedor = Input::get('proveedor');
    $compra->nombre_vendedor = Input::get('nombre_vendedor');
    $compra->total = Input::get('total');
    $compra->descuento = Input::get('desc');
    $compra->itbms = Input::get('itbms');
    $compra->total_bruto = Input::get('total_bruto');
    if($compra->save()){
        $detalle = new DetalleCompra();
        $detalle->id_compras = Compra::orderBy('id','DESC')->get();
        $detalle->id_ganado = Input::get('num_factura');
        $detalle->precio_kilo = Input::get('data-precio');
        $detalle->peso = Input::get('data-peso');
        $detalle->precio_bruto = Input::get('data-monto');
        $detalle->save();
    }
    if($compra->save()){
        Session::flash('message','Guardado Correctamente');
        Session::flash('class','success');
    }else{
        Session::flash('message','Ha ocurrido un error');
        Session::flash('class','danger');
    }
    return Redirect::to('/compras');
}
<input type="text" name="test[]" />
<input type="text" name="test[]" />
<input type="text" name="test[]" />
array('one', 'two', 'three');
for($i = 0; $i < count(Input::get('data-peso')); $i++){
    $detalle = new DetalleCompra();
    $detalle->peso = Input::get('data-peso')[$i];
    $detalle->precio_bruto = Input::get('data-monto')[$i];
    // the other values...
    $detalle->save();
}