<?php

namespace App\Models;

use CodeIgniter\Model;

class ModelPembayaran extends Model
{
    protected $table            = 'pembayaran';
    protected $primaryKey       = 'id_pembayaran';
    protected $allowedFields    = ['id_kunjungan', 'tanggal_pembayaran', 'total_biaya', 'metode_pembayaran', 'keterangan'];

    // Ambil semua data pembayaran lengkap dengan nama pasien
    public function getAll()
    {
        return $this->db->table('pembayaran')
            ->select('pembayaran.*, pasien.nama_lengkap')
            ->join('kunjungan', 'kunjungan.id_kunjungan = pembayaran.id_kunjungan')
            ->join('pasien', 'pasien.id_pasien = kunjungan.id_pasien')
            ->orderBy('pembayaran.tanggal_pembayaran', 'DESC')
            ->get()->getResultArray();
    }

    // Ambil data berdasarkan ID
    public function getById($id)
    {
        return $this->db->table('pembayaran')
            ->select('pembayaran.*, pasien.nama_lengkap')
            ->join('kunjungan', 'kunjungan.id_kunjungan = pembayaran.id_kunjungan')
            ->join('pasien', 'pasien.id_pasien = kunjungan.id_pasien')
            ->where('pembayaran.id_pembayaran', $id)
            ->get()->getRowArray();
    }

    // Tambah data pembayaran
    public function tambahData($data)
    {
        return $this->insert($data);
    }

    // Update data pembayaran
    public function updateData($id, $data)
    {
        return $this->update($id, $data);
    }

    // Hapus data pembayaran
    public function deleteData($id)
    {
        return $this->delete($id);
    }
}
