<?php
namespace App\Imports;
use App\Models\Kabupaten;
use App\Models\Kecamatan;
use Maatwebsite\Excel\Concerns\ToModel;
use Illuminate\Support\Facades\Auth;
use App\Models\UserLog;
// use Session;
use Exception;
use Illuminate\Support\Facades\Session;
class DataKecamatanImport implements ToModel
{
public function transformDate($value, $format = 'Y-m-d')
{
try {
return \Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value))->format($format);
} catch (\ErrorException $e) {
return date($format,strtotime($value));
}
}
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
$user = Auth::user();
if(isset($row[0]) && strlen($row[0]) > 0 && isset($row[1]) && strlen($row[1]) > 0){
$kabupaten = Kabupaten::where('nama_kabupaten','like','%'.$row[0].'%')->orWhere('id','=', $row[0])->first();
if($kabupaten){
// $s = Session::get('alert_import',[]);
// $s[] = 'data warga dari excel dengan nama Kabupaten '.$row[0].' tidak bisa di input karena data dengan nama Kabupaten tersebut sudah ada / pernah diinput';
// Session::put('alert_import', $s);
// $kelurahan_id = $cek->id;
$data = [
'nama_kecamatan'=>$row[1],
'kabupaten_id'=>$kabupaten->id,
];
if($row[2]) {
$data['id'] = $row[2];
}
$msg = 'Berhasil menambah data kecamatan dari excel';
UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);
return new Kecamatan($data);
} else {
$s = Session::get('alert_import',[]);
$s[] = 'data kecamatan dari excel dengan nama kecamatan '.$row[1].' tidak bisa di input karena data kabupaten tidak di temukan';
Session::put('alert_import', $s);
}
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]