Menampilkan Data multi Table di Codeigniter 4 dengan Join
By Sinauo.com
3 comments
Pada pembuatan sebuah aplikasi pastinya kita tidak lepas yang namanya database dan tabel. Tapi terkadang kita di tuntut untuk menampilkan sebuah data dari tabel satu bergabung dengan tabel dua atau lainnya bisa juga disebut dengan relasi antar tabel.
Pada kesempatan kali ini admin akan membahas sebuah tutorial bagaimana cara menampilkan beberapa data ditabel yang berbeda dengan join di codeigniter 4. Jika kita membuat join data, maka dalam structure tabel satu dengan tabel yang lain mempunyai data primary key yang terhubung dengan foreign key yang nantinya akan membentuk sebuah relasi tabel.
Membuat Database
Untuk membuat database di mysql maka ketikan perintah berikut ini :
create database multi_table;
Setelah database dibuat saatnya kita membuat beberapa tabel beserta isi datanya seperti berikut ini:
Tabel Jurusan
Tabel Kelas
Tabel Siswa
Instalasi Codeighniter 4
Hal pertama yang dilakukan untuk memulai aplikasi yaitu installasi aplikasinya terlebih dahulu, Jika belum paham tentang cara instalasi Codeigniter 4 bisa baca artikel Cara Installasi Codeigniter 4
Membuat Koneksi Database
Membuat Konfigurasi database di codeigniter 4 ada dua cara yaitu cara pertama dengan menggunakan file env (rename menjadi .env) yang ada di folder root project atau dengan file Database.php yang ada di folder app/config dan kali ini admin menggunakan file env untuk koneksi database nya .
database.default.hostname = localhost
database.default.database = ci4_multiTable
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi
Membuat Model
Buatlah file baru dengan nama Models_siswa.php simpan di folder app/Models kemudian ketikan kode berikut ini :
<?php namespace App\Models;
use CodeIgniter\Model;
class Models_siswa extends Model
{
public function getSiswa()
{
return $this->db->table('siswa')
->join('kelas','kelas.IDKelas=siswa.IDKelas')
->join('jurusan', 'jurusan.IDJurusan=siswa.IDJurusan')
->get()->getResultArray();
}
}
Dari kode diatas kita membuat join tiga tabel dengan konsep relasi. yang nantinya akan dipanggil oleh file controller untuk diteruskan ke file view.
Jika belum paham tentang join bisa baca artikel Mengenal Fungsi Join di Tabel MySQL
Membuat Controller
Kita buat file baru dengan nama Siswa.php kemudian simpan di folder app/Controllers lalu masukan kode berikut ini :
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\Models_siswa;
class Siswa extends BaseController
{
public function index()
{
$model = new Models_siswa();
$data['siswa'] = $model->getSiswa();
echo view('view_siswa',$data);
}
}
Dari kode diatas terdapat beberapa kode yang berfungsi untuk memanggil function use (App\Models\Models_siswa; | $model = new Models_siswa(); | $data['siswa'] = $model->getSiswa();) yang ada di model kemudian akan diteruskan ke file views (echo view('view_siswa',$data);).
Membuat View
Buat file baru dengan nama view_siswa.php simpan di folder app/Views kemudian masukan beberapa kode dibawah ini :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Menampilkan Data Multi Join Tabel</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet">
</head>
<body style="width: 70%; margin: 0 auto; padding-top: 30px;">
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h2>Menampilkan Data Multi Tabel </h2>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-lg-12 margin-tb">
<table class="table table-bordered">
<tr>
<th>No</th>
<th>Nama Siswa</th>
<th>Kelas</th>
<th>Jurusan</th>
</tr>
<?php foreach($siswa as $row):?>
<tr>
<td><?=$row['IDSiswa'];?></td>
<td><?=$row['NamaSiswa'];?></td>
<td><?=$row['NamaKelas'];?></td>
<td><?=$row['NamaJurusan'];?></td>
</tr>
<?php endforeach;?>
</table>
</div>
</div>
</body>
</html>
Kesimpulan
Dari pembahasan diatas kita sudah bisa menampilkan beberapa tabel yang terelasi dengan menggunakan framework codeigniter 4, Tutorial diatas hanya menggunakan relasi tiga tabel jika kita ingin membuat relasi lebih dari tiga maupun kurang dari tiga tabel kita bisa menyesuaikannya,Sedikit tutorial cara menampilkan data multi tabel dengan codeighniter 4 semoga bermanfaat.
muncul ini Call to a member function table() on null
ReplyDeletebisa di lihat lagi untuk fungsi kelas tablenya om di cek lagi skripnya . Apakah pemanggilan file modelnya sudah berhasil belum . .
DeleteIngin mengambil data yang memiliki id siswa 12 gitu gimana?
ReplyDelete