<?php
namespace App\Imports;
use App\Models\Kelurahan;
use App\Models\Tp;
use Maatwebsite\Excel\Concerns\ToModel;
use Illuminate\Support\Facades\Auth;
use App\Models\UserLog;
// use Session;
use Exception;
use Illuminate\Support\Facades\Session;
class DataTpsImport 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){
$kelurahan = Kelurahan::where('nama_kelurahan', 'like', '%'.$row[0].'%')->orWhere('id','=', $row[0])->first();
if($kelurahan) {
$data = [
'nomor'=>$row[1],
'kelurahan_id'=>$kelurahan->id,
];
if($row[2]) {
$data['id'] = $row[2];
}
$msg = 'Berhasil menambah data TPS dari excel';
UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);
return new Tp($data);
} else {
$s = Session::get('alert_import',[]);
$s[] = 'data TPS dari excel dengan nomor '.$row[1].' tidak bisa di input karena data kelurahan tidak di temukan';
Session::put('alert_import', $s);
}
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]