Home » Codeigniter 4 » Tutorial Codeigniter 4 #6: Konfigurasi Model

Tutorial Codeigniter 4 #6: Konfigurasi Model

Published by Ade Kurniawan on

Model dibuat untuk memperoleh data dari database. Hal baru dari codeigniter 4 adalah model terdapat pada directory app/models dan ditulis sebagai extends dari file Model (System/Model.php), extends ini meupakan salah satu perbedaan antara codeigniter 3 dan 4.

Codeigniter 3 menggunakan extend CI_Model sedangkan codeigniter 4 menggunkan extends Model.

Contoh Model Codeigniter 4

contoh script

<?php namespace App\Models;

use CodeIgniter\Model;

class MahasiswaModel extends Model
{    
    
}

Untuk menggunakan model terlebih dahulu di tuliskan namespace App/Models. Selanjutnya impor superclass menggunkan perintah use CodeIgniter\Model.

Tujuan di import adalah untuk di extend superclass tersebut dan di warisi (Inherintance) sifat atau method dari superclass terebut oleh anak class.

Contoh model ini class MahasiswaModel adalah anak class dari class Model.

Konfigurasi

Di model codeigniter 4 dibutukan konfigurasi akses dan pendefinisian hal – hal sebagai berikut untuk bisa mengakses tabel dari database:

  1. Nama Tabel
  2. Primary key
  3. Kolom tabel yang di akses

Ke 3 konfigurasi di atas merupakan konfigurasi dasar yang harus ada. agar data table bisa di tampilkan

Sebagai contoh sebuah database memiliki tabel mahasiswa seperti di bawah ini:

CREATE TABLE `mahasiswa` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `nama` varchar(255) NOT NULL,
 `jenis_kelamin` varchar(10) NOT NULL,
 `alamat` varchar(255) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4

Untuk mengakses tabel maka script yang di definisikan terlebih dahulu pada model adalah sebagai beriku:

<?php namespace App\Models;

use CodeIgniter\Model;

class MahasiswaModel extends Model
{
    protected $table      = 'mahasiswa';
    protected $primaryKey = 'id';  
    protected $allowedFields = ['nama','jenis_kelamin','alamat'];
    
}

untuk digunakan tabel mahasiswa dibuatkan terlebih dahulu property $table disini digunkan table mahasiswa, property $primaryKey diisi dengan primary key dari tabel, secara default nilainya adalah ‘id’ jika di tabel nama primary key adalah ‘id’ maka kita boleh tidak menulis lagi property ini.

property $allowedFields berisi nama field table yang boleh di akses.

Membuat method

Setelah melakukan konfigurasi dasar yang berisi property. selanjutnya untuk dapat digunakan tentu dibutuhkan method pada model.

Contoh method model untuk menampilkan data by id

<?php namespace App\Models;

use CodeIgniter\Model;

class MahasiswaModel extends Model
{
    protected $table      = 'mahasiswa';
    protected $primaryKey = 'id';  
    protected $allowedFields = ['nama','jenis_kelamin','alamat'];
    
    public function data_mhs($id_mhs)
    {
         return $this->find($id_mhs);
    }
}

contoh di atas kita buat method data_mhs

Menampilkan Data Model di Controller

method data_mhs yang telah di buat di panggil di controller sebagai berikut

script:

<?php

namespace App\Controllers;

use App\Models\MahasiswaModel;

class Mahasiswa extends BaseController
{
	protected $mahasiswamodel;
	public function __construct()
	{
		$this->mahasiswamodel = new MahasiswaModel();
	}

	public function data($id_mhs)
	{
		$mhs = $this->mahasiswamodel->data_mhs($id_mhs);
		dd($mhs);
	}
}

akses melalui url : http://localhost:8080/mahasiswa/data/1

output:

menampilkan data model codeigniter 4

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *