Tout d'abord, vous devez convertir vos données d'entrée dans un autre format :
$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++;
}
Deuxièmement, utilisez le générateur de requête Fluent pour effectuer une insertion par lot :
DB::table('table_name')->insert($sqlData);
Remarque : le created_at
et updated_at
apparaissent ici si votre table contient ces champs. Lorsque vous travaillez avec le modèle Eloquent, ces champs sont mis à jour automatiquement. Cependant, nous n'utilisons pas Eloquent, de sorte que nous devons attribuer la valeur à ces champs manuellement.