38 lines
1020 B
PHP
Executable File
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());
|
|
}
|
|
}
|
|
}
|
|
}
|