sql >> Base de Datos >  >> RDS >> Mysql

PHP Cómo guardar datos de una matriz a mysql usando laravel 5

Primero, debe convertir sus datos de entrada a otro formato:

$cyldata = $_POST['cylinder']; //this is the post from top.

$num_elements = 0;

$sqlData = array();

while($num_elements < count($cyldata['serie'])){
    $sqlData[] = array(
        'serie'         => $cyldata['serie'][$num_elements],
        'type'          => $cyldata['type'][$num_elements],
        'admission'     => $cyldata['admission'][$num_elements],
        'seriesap'      => $cyldata['seriesap'][$num_elements],
        'invoice'       => $cyldata['invoice'][$num_elements], // you miss this field, aren't you?
        'created_at'    => Carbon\Carbon::now(), // only if your table has this column
        'updated_at'    => Carbon\Carbon::now(), // only if your table has this column
    );
    $num_elements++;
}

En segundo lugar, utilice el generador de consultas Fluent para realizar una inserción por lotes:

DB::table('table_name')->insert($sqlData);

Nota: el created_at y updated_at aparecer aquí si su tabla tiene estos campos. Cuando se trabaja con el modelo Eloquent, estos campos se actualizan automáticamente. Sin embargo, no usamos Eloquent, por lo que tenemos que asignar el valor a estos campos manualmente.