<?php

namespace App\Models;

use CodeIgniter\Model;

class Makanan_model extends Model
{
    protected $DBGroup       = 'db2';
    protected $table         = 'tabel_menu';
    protected $primaryKey    = 'id_menu';
    protected $allowedFields = [];

    public function listing()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J02')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    public function cari($kdjenis)
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', $kdjenis)
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function jenis($kdjenis)
    {
       return $this->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', $kdjenis)
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    
    
    public function kategori()
    {
        $builder = $this->db->table('jenismenu');
        $builder->select('keterangan');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    public function kmieori()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J01')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function mieori()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J01')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function kmiegokil()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J07')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function miegokil()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J07')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function ktoping()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J03')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function toping()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J03')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function ksnack()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J02')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function snack()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J02')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
        
    }
    
    public function kminuman()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J04')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function minuman()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J04')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
        
    }
    public function korit()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J08')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function orit()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J08')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
        
    }
    
    public function kgokilt()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J09')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function gokilt()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J09')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function ksegar()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J10')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function segar()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J10')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    public function kcreamy()
    {
       return $this->select('jenismenu.keterangan as jenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J11')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->first();
    }
    public function creamy()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu as nama_menu,tabel_menu.id_menu as id_menu, tabel_menu.foto as gambar,hargajual.hargajual AS harga,jenismenu.keterangan as jenis,tabel_menu.likes')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('tabel_menu.jenisbrg', 'J11')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
    
    public function ubahlike($data)
    {
        $builder = $this->db->table('tabel_menu');
        $builder->where('nama_menu', $data['nama_menu'])->update($data);
    }
    
    public function ubahtok($data){
        $db = \Config\Database::connect('db2', false); 
        return $db->query("update tabel_menu set likes = likes + 1 where id_menu = '$data'");
    }
    

    // Mengambil semua jenis menu (untuk Tabs)
    public function getKategoriAll()
    {
        $builder = $this->db->table('jenismenu');
        $builder->select('kdjenis, keterangan')
                ->whereIn('kdjenis', ['J01', 'J02', 'J07', 'J10', 'J11']);
        $query = $builder->get();
        return $query->getResultArray(); 
    }

    // Mengambil semua menu aktif (untuk Carousel)
    public function getMenuAll()
    {
        $builder = $this->db->table('tabel_menu');
        $builder->select('tabel_menu.nama_menu, tabel_menu.id_menu, tabel_menu.foto as gambar, hargajual.hargajual AS harga, jenismenu.keterangan as jenis, jenismenu.kdjenis')
            ->join('hargajual', 'hargajual.kdbrg = tabel_menu.kode_menu')
            ->join('jenismenu', 'jenismenu.kdjenis = tabel_menu.jenisbrg')
            ->where('hargajual.kdcabang', 'YOG01')
            ->where('hargajual.kdharga', 'KH01')
            ->where('tabel_menu.stat', '1')
            ->groupBy('tabel_menu.nama_menu')
            ->orderBy('tabel_menu.id_menu', 'ASC');
        $query = $builder->get();
        return $query->getResultArray(); 
    }
    
}
