Primeiro, você precisa converter seus dados de entrada para outro 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++;
}
Segundo, use o construtor de consultas Fluent para fazer uma inserção em lote:
DB::table('table_name')->insert($sqlData);
Observação: o
created_at
e updated_at
aparecem aqui se sua tabela tiver esses campos. Ao trabalhar com o modelo Eloquent, esses campos são atualizados automaticamente. No entanto, não usamos o Eloquent, por isso temos que atribuir o valor a esses campos manualmente.