<?php

namespace App\Models;

use CodeIgniter\Model;

class PenggunaanBahanModel extends Model
{
    protected $table      = 'tb_penggunaan_bahan';
    protected $primaryKey = 'id_penggunaan';
    protected $returnType = 'array';

    // Soft Delete
    protected $useSoftDeletes = true;
    protected $deletedField   = 'deleted_at';

    // Timestamps
    protected $useTimestamps = true;
    protected $createdField  = 'created_at';
    protected $updatedField  = 'updated_at';

    protected $allowedFields = [
        'id_bahan',
        'tanggal_penggunaan',
        'jumlah_penggunaan',
        'keperluan_penggunaan',
        'catatan_penggunaan',
    ];

    // ── Riwayat penggunaan join nama & satuan bahan ───────────────────────────
    public function getRiwayat(int $limit = 100): array
    {
        return $this->db->table('tb_penggunaan_bahan pu')
            ->select('
                pu.*,
                b.nama_bahan,
                b.satuan_bahan
            ')
            ->join('tb_bahan b', 'b.id_bahan = pu.id_bahan', 'left')
            ->where('pu.deleted_at IS NULL', null, false)
            ->orderBy('pu.tanggal_penggunaan', 'DESC')
            ->orderBy('pu.id_penggunaan', 'DESC')
            ->limit($limit)
            ->get()
            ->getResultArray();
    }
}