28 lines
839 B
PHP
28 lines
839 B
PHP
<?php
|
|
|
|
namespace App\Imports;
|
|
|
|
use App\Models\Food;
|
|
use Maatwebsite\Excel\Concerns\ToModel;
|
|
use Maatwebsite\Excel\Concerns\WithHeadingRow;
|
|
use Carbon\Carbon;
|
|
|
|
class FoodImport implements ToModel, WithHeadingRow
|
|
{
|
|
/**
|
|
* @param array $row
|
|
* @return \Illuminate\Database\Eloquent\Model|null
|
|
*/
|
|
public function model(array $row)
|
|
{
|
|
return new Food([
|
|
'nama_makanan' => $row['nama_makanan'], // Sesuai header di Excel
|
|
'qty' => $row['qty'],
|
|
'unit' => $row['unit'],
|
|
// Mengonversi format tanggal Excel menjadi format database
|
|
'expired_date' => isset($row['expired_date'])
|
|
? Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['expired_date']))
|
|
: null,
|
|
]);
|
|
}
|
|
} |