Search code examples
phpcodeignitercodeigniter-3

Not unique table/alias: 'siswa' Error Number: 1066 Codeigniter


i have eror in my scirpt, i just want to show siswa detail data

Error Number: 1066

Not unique table/alias: 'siswa'

SELECT * FROM (kelas, siswa) JOIN siswa ON siswa.kelas_id = kelas.id WHERE nis = '1001'

Filename: C:/xampp/htdocs/konsultasi/system/database/DB_driver.php

Line Number: 691

My Controller :

public function siswa_detail($id)
  {
    $detail = $this->m_datas->detail_data($id);
    $data['detail'] = $detail;

    $this->load->view('templates/header');
    $this->load->view('v_bk/view_siswa_detail', $data);
    $this->load->view('templates/footer');
  }

My Models :

public function detail_data($id = NULL)
    {
        $this->db->select('*');
        $this->db->from('siswa');
        $this->db->join('kelas', 'siswa.kelas_id = kelas.id');
        $query = $this->db->get_where('siswa', array('nis' => $id))->row();
        return $query;
    }

Solution

  • you have to delete $this->db->from('siswa')

        public function detail_data($id = NULL)
        {
            $this->db->select('*');
            $this->db->join('kelas', 'siswa.kelas_id = kelas.id');
            $query = $this->db->get_where('siswa', array('nis' => $id))->row();
            return $query;
        }
    

    and It is good to insert 'left' or 'right' in join.

    $this->db->join('kelas', 'siswa.kelas_id = kelas.id', 'left');