<?php

namespace App\Models;

use CodeIgniter\Model;

class BarangModel extends Model
{
    protected $table      = 'barang';
    protected $primaryKey = 'id_barang';

    protected $allowedFields = [
        'kode_barang',
        'nama_barang',
        'id_kategori',
        'id_ruangan',
        'kondisi',
        'merk',
        'jumlah',
        'tahun_perolehan',
        'sumber_dana',
        'status'
    ];

    /**
     * Ambil data barang + kategori + ruangan
     */
   public function getWithRelation()
{
    return $this->db->table('barang b')
        ->select("
            b.id_barang,
            b.kode_barang,
            b.nama_barang,
            k.nama_kategori,
            b.status,
            COUNT(bu.id_unit) AS jumlah_unit,
            GROUP_CONCAT(DISTINCT r.nama_ruangan SEPARATOR ', ') AS ruangan_list
        ")
        ->join('kategori k', 'k.id_kategori = b.id_kategori', 'left')
        ->join('barang_unit bu', 'bu.id_barang = b.id_barang AND bu.status != "Dimusnahkan"', 'left')
        ->join('ruangan r', 'r.id_ruangan = bu.id_ruangan', 'left')
        ->groupBy('b.id_barang')
        ->get()
        ->getResultArray();
}

}