survey-sdgs/database/seeders/KelurahanSeeder.php

38 lines
1020 B
PHP
Executable File

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class KelurahanSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$csv = new CsvtoArray();
$resourceFiles = File::allFiles(__DIR__ . '/csv/villages');
foreach ($resourceFiles as $file) {
$header = ['id', 'kecamatan_id', 'nama', 'lat', 'long'];
$data = $csv->csv_to_array($file->getRealPath(), $header);
$data = array_map(function ($arr) {
$arr['coordinate'] = json_encode(['lat' => $arr['lat'], 'long' => $arr['long']]);
unset($arr['lat'], $arr['long']);
return $arr;
}, $data);
$collection = collect($data);
foreach ($collection->chunk(50) as $chunk) {
DB::table('kelurahan')->insert($chunk->toArray());
}
}
}
}