db->select('*'); $this->db->from('chat'); $this->db->join('pembeli', 'pembeli.id_pembeli = chat.id_pembeli'); $this->db->join('pengguna', 'pengguna.id_pengguna = pembeli.id_pengguna'); $this->db->where('chat.id_admin', $id_admin); $this->db->where('chat.timestamp = (SELECT MAX(timestamp) FROM chat WHERE chat.id_pembeli = pembeli.id_pembeli)'); $query = $this->db->get(); return $query->result_array(); } public function get_chat_by_pembeli($id_pembeli) { // Mengambil satu baris chat terbaru untuk pembeli tertentu $this->db->select('*'); $this->db->from('chat'); $this->db->join('pembeli', 'pembeli.id_pembeli = chat.id_pembeli'); $this->db->join('pengguna as pembeli_pengguna', 'pembeli_pengguna.id_pengguna = pembeli.id_pengguna'); $this->db->join('pengguna as admin_pengguna', 'admin_pengguna.id_pengguna = chat.id_admin'); $this->db->where('chat.id_pembeli', $id_pembeli); $this->db->order_by('chat.timestamp', 'DESC'); $this->db->limit(1); $query = $this->db->get(); return $query->result_array(); } public function get_all_chat_by_pembeli($id_pembeli) { // Mengambil satu baris chat terbaru untuk pembeli tertentu $this->db->select('*'); $this->db->from('chat'); $this->db->join('pembeli', 'pembeli.id_pembeli = chat.id_pembeli'); $this->db->join('pengguna as pembeli_pengguna', 'pembeli_pengguna.id_pengguna = pembeli.id_pengguna'); $this->db->join('pengguna as admin_pengguna', 'admin_pengguna.id_pengguna = chat.id_admin'); $this->db->where('chat.id_pembeli', $id_pembeli); $this->db->order_by('chat.timestamp', 'DESC'); $query = $this->db->get(); return $query->result_array(); } public function add_chat($data) { return $this->db->insert('chat', $data); } } ?>