You can do bulk inserts with insert() as well:
$batches = array_chunk($data_rows, 200); // batches of 200 each
DB::transaction(function() use ($request, $headers, $batches ) {
foreach($batches as $batch) {
foreach($batch as $i => $row) {
$batch [ $i ] = [
'user_id' => $row[$user_index_from_csv_here],
'number' => $row[$user_number_from_csv_here],
'created_at' => date("Y-m-d H:i:s"), // now
'updated_at' => date("Y-m-d H:i:s"), // now
];
}
DB::table('user_phone_numbers')->insert($batch);
}
});