79 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace App\Imports;
 | 
						|
 | 
						|
use App\Models\Dataset\DatasetTable32;
 | 
						|
use Maatwebsite\Excel\Concerns\ToModel;
 | 
						|
use Maatwebsite\Excel\Concerns\WithStartRow;
 | 
						|
 | 
						|
class DatasetTable32Import implements ToModel,WithStartRow
 | 
						|
{
 | 
						|
    /**
 | 
						|
    * @param array $row
 | 
						|
    *
 | 
						|
    * @return \Illuminate\Database\Eloquent\Model|null
 | 
						|
    */
 | 
						|
    protected $datasetId;
 | 
						|
protected $userId;
 | 
						|
 | 
						|
    public function __construct($datasetId,$userId)
 | 
						|
    {
 | 
						|
        $this->datasetId = $datasetId;
 | 
						|
        $this->userId = $userId;
 | 
						|
    }
 | 
						|
 | 
						|
public function startRow(): int
 | 
						|
    {
 | 
						|
        return 6;
 | 
						|
    }
 | 
						|
 | 
						|
public function model(array $row)
 | 
						|
    {
 | 
						|
 | 
						|
// cek kalau row kosong jangan insert
 | 
						|
        if (
 | 
						|
            $row[0] === null &&
 | 
						|
            $row[1] === null &&
 | 
						|
            $row[2] === null &&
 | 
						|
            $row[3] === null &&
 | 
						|
            $row[4] === null &&
 | 
						|
            $row[5] === null &&
 | 
						|
            $row[6] === null &&
 | 
						|
            $row[7] === null &&
 | 
						|
            $row[8] === null &&
 | 
						|
            $row[9] === null &&
 | 
						|
            $row[10] === null &&
 | 
						|
            $row[11] === null &&
 | 
						|
            $row[12] === null &&
 | 
						|
            $row[13] === null &&
 | 
						|
            $row[14] === null &&
 | 
						|
            $row[15] === null &&
 | 
						|
            $row[16] === null &&
 | 
						|
            $row[17] === null
 | 
						|
        ) {
 | 
						|
            return null; // baris kosong dilewati
 | 
						|
        }
 | 
						|
        return new DatasetTable32([
 | 
						|
            'dataset_id'      => $this->datasetId,
 | 
						|
            'created_by'      => $this->userId,
 | 
						|
            'lokasi'          => @$row[1] && (@$row[1] != '-') ? @$row[1] : 0,
 | 
						|
            'tidak_sekolah_l' => @$row[2] && (@$row[2] != '-') ? @$row[2] : 0,
 | 
						|
            'tidak_sekolah_p' => @$row[3] && (@$row[3] != '-') ? @$row[3] : 0,
 | 
						|
            'sd_l'            => @$row[4] && (@$row[4] != '-') ? @$row[4] : 0,
 | 
						|
            'sd_p'            => @$row[5] && (@$row[5] != '-') ? @$row[5] : 0,
 | 
						|
            'sltp_l'          => @$row[6] && (@$row[6] != '-') ? @$row[6] : 0,
 | 
						|
            'sltp_p'          => @$row[7] && (@$row[7] != '-') ? @$row[7] : 0,
 | 
						|
            'slta_smk_l'      => @$row[8] && (@$row[8] != '-') ? @$row[8] : 0,
 | 
						|
            'slta_smk_p'      => @$row[9] && (@$row[9] != '-') ? @$row[9] : 0,
 | 
						|
            'pt_l'            => @$row[10] && (@$row[10] != '-') ? @$row[10] : 0,
 | 
						|
            'pt_p'            => @$row[11] && (@$row[11] != '-') ? @$row[11] : 0,
 | 
						|
            's1_l'            => @$row[12] && (@$row[12] != '-') ? @$row[12] : 0,
 | 
						|
            's1_p'            => @$row[13] && (@$row[13] != '-') ? @$row[13] : 0,
 | 
						|
            's2_l'            => @$row[14] && (@$row[14] != '-') ? @$row[14] : 0,
 | 
						|
            's2_p'            => @$row[15] && (@$row[15] != '-') ? @$row[15] : 0,
 | 
						|
            's3_l'            => @$row[16] && (@$row[16] != '-') ? @$row[16] : 0,
 | 
						|
            's3_p'            => @$row[17] && (@$row[17] != '-') ? @$row[17] : 0,
 | 
						|
        ]);
 | 
						|
    }
 | 
						|
}
 |