Cara melaksanakan Join 2 dan 3 Table atau lebih di CodeIgniter dengan Active Record

Join Table CodeIgniter merupakan Tutorial menampilkan data dengan menggabungkan Table-table Databse yang memiliki Id Primary key yang sama atau Foreign Key nya.

Untuk menampilkan Data dengan join perlu kita menciptakan Table-tablenya terlebih dahulu atau mungkin sudah mempunyai dan sedang mencari Tutorial Bagaimana menciptakan atau menampilkan data dengan menggabungkan 2 Table atau lebih di CodeIgniter, bisa memakai Active Record atau tidak.

Baca : Cara menciptakan Databse di PhpMyaAdmin Xampp

Okeh eksklusif saja disini saya menggunakan Query Bulider Khas CcodeIgniter bukan Prosedural yoh..^_^..

Berikut aku sudah siapkan Table-Table nya :

Join 2 dan 3 Table atau lebih di CodeIgniter
Table tbrakyat

Join 2 dan 3 Table atau lebih di CodeIgniter
Table tbsekolah

Join 2 dan 3 Table atau lebih di CodeIgniter
Table tbstatus
Dari table-table diatas :
Dengan mempuyai Id yang sama yaitu Id(tbrakyat) = Id(tbsekolah) dan Idpendidikan(tbsekolah) = Idpendidikan(tbstatus)

Di sini saya akan menampilkan Join 2 Table terlebih dahulu, Kita langsung saja untuk membuat model, Controler dan Viewnya, untuk settingan dasar seperti Config, route, database bisa kalian Cara i Google sendiri ^_^ ...

untuk code view nya dengan nama nong.php sebagai berikut :
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title;?></title>
<style>
table 
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;


td, th 
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;


tr:nth-child(even) 
    background-color: #dddddd;

</style>
</head>
<body>
<label><h2><b>Join 2 Table CodeIgniter</b></h2></label>
<table>
  <tr>
    <th>No.</th>
    <th>Nama</th>
    <th>Alamat</th>
    <th>Sekolah</th>    
  </tr>
  <?php 
  $no=1; 
  foreach ($join2 as $row)  ?>
  <tr>
  <td><?php echo $no++;?></td>
  <td><?php echo $row->nama;?></td>
  <td><?php echo $row->alamat;?></td>
  <td><?php echo $row->pendidikan;?></td>
  </tr>
    <?php  ?>
    
</table>

</body>
</html>

Dan untuk Controller dengan nama cung.php sebagai berikut :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Cung extends CI_Controller 

 function __construct()
 
 parent::__construct();
 $this->load->model('mjoin', '', TRUE);
 $this->load->helper(array('form', 'url'));
 

 public function index()
 
  $data['title'] = "Join CodeIgniter"; 

    // query memanggil function duatable di model
    $data['join2'] = $this->mjoin->duatable(); 
  $this->load->view('nong',$data);    
  
  
  

Untuk modelnya dengan nama mjoin.php sebagai berikut :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Mjoin extends CI_Model 
 
public function duatable() 
 $this->db->select('*');
 $this->db->from('tbrakyat');
 $this->db->join('tbsekolah','tbsekolah.id=tbrakyat.id');
 $query = $this->db->get();
 return $query->result();




/* End of file model_keuangan.php */
/* Location: ./application/model/model_keuangan.php */

Dan ini hasil tampilan dari Join Query CodeIgniter 2 Table yaitu tbrakyat dan tbsekolah

Join 2 Table MySQL CodeIgniter
Join 2 Table MySQL CodeIgniter

Dan Bagaiman untuk melaksanakan Join 3 Table atau lebih memakai Active recordnya misal kita acuan menampilkan data dengan nama Edi kita set nanti Active Recordnya di Model ditambahkan Query Where,..

Okeh pribadi saja dan untuk coding Viewnya di tambah field sedikit 
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title;?></title>
<style>
table 
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;


td, th 
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;


tr:nth-child(even) 
    background-color: #dddddd;

</style>
</head>
<body>
<label><h2><b>Join 3 Table CodeIgniter Active Record&nbsp;<?php echo $nama;?></b></h2></label>
<table>
  <tr>
    <th>No.</th>
    <th>Nama</th>
    <th>Alamat</th>
    <th>Sekolah</th>   
    <th>Status</th>    
  </tr>
  <?php 
  $no=1; 
  foreach ($join3 as $row)  ?>
  <tr>
  <td><?php echo $no++;?></td>
  <td><?php echo $row->nama;?></td>
  <td><?php echo $row->alamat;?></td>
  <td><?php echo $row->pendidikan;?></td>
  <td><?php echo $row->status;?></td>
  </tr>
    <?php  ?>
    
</table>

</body>
</html>

Dan ini Untuk Coding Controllernya hampir sama kaya tadi tapi disini kita mengirim variable untuk diterapkan di Query Where
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Cung extends CI_Controller 

 function __construct()
 
 parent::__construct();
 $this->load->model('mjoin', '', TRUE);
 $this->load->helper(array('form', 'url'));
 

 public function index()
 
    //passing data controller ke view
    $data['nama'] = "Edi";
  $data['title'] = "Join CodeIgniter"; 

    //active record dengan nama edi
    $aktif = array('nama'=>'Edi');

    // query memanggil function tigatable di model
    $data['join3'] = $this->mjoin->tigatable($aktif); 
  $this->load->view('nong',$data);    
  
  
  

Untuk Modelnya sebagai berikut :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Mjoin extends CI_Model 
 
public function tigatable($aktif) 
 $this->db->select('*');
 $this->db->from('tbrakyat');
 $this->db->join('tbsekolah','tbsekolah.id=tbrakyat.id');
 $this->db->join('tbstatus','tbstatus.idpendidikan=tbsekolah.idpendidikan');
 $this->db->where($aktif);
 $query = $this->db->get();
 return $query->result();




/* End of file model_keuangan.php */
/* Location: ./application/model/model_keuangan.php */


Dan Berikut Hasil tampilan Active Record Join 3 Table di CodeIgniter, Gimana praktis dan simple kan...
Join 3 Table Active Record CodeIgniter
Join 3 Table Active Record CodeIgniter

Okeh Terima kasih Demikian Tutorial Cara menampilkan data, menggabungkan dengan Join Query 2 dan 3 atau lebih dengan Active Record di CodeIgniter.

cara menggunakan left join codeigniter