Search code examples
inner-joincodeigniter-2

Displaying Data from a Join in Codeigniter 2.2.1


model

function select_nip($data){
    $query = $this->db->select('mx_pegawai.nama, mx_pegawai.nip, mx_jabatan.unit_kerja AS unit')
          ->from('mx_pegawai')
          ->join('mx_jabatan', 'mx_pegawai.nip = mx_jabatan.nip')
          ->where('mx_pegawai.nip', $data)
          ->get();
    return $query;
}

view

$i=1;
            foreach($hasil->result() as $row){
                echo '
                  <tr>
                    <td>'.$i.'</td>
                    <td>'.$row->nama.'</td>
                    <td>'.$row->nip.'</td>
                    <td>'.$row->unit.'</td>
                  </tr>
                ';
                $i++;
            }

Error

A PHP Error was encountered

Severity: Notice

Message: Undefined property: stdClass::$unit

Filename: home/cari.php

Line Number: 50


Solution

  • $this->db->select() accepts an optional second parameter.

    If you set it to FALSE, CodeIgniter will escaping your field. This is useful if you need a compound select statement where automatic escaping of fields may break them.

        $query = $this->db->select('mx_pegawai.nama, mx_pegawai.nip, mx_jabatan.unit_kerja AS unit')
              ->from('mx_pegawai')
              ->join('mx_jabatan', 'mx_pegawai.nip = mx_jabatan.nip')
              ->where('mx_pegawai.nip', $data)
              ->get();
        return $query;