Tutorial CodeIgniter: Pengenalan Model

Model merupakan salah satu bagian dari konsep MVC (Model View Controller), model merupakan sebuah class PHP yang bertugas untuk berhubungan dengan informasi yang ada didalam database. Contoh sederhananya jika kita akan membuat sebuah online shop maka model adalah class PHP yang bertugas untuk melakukan insert, update, delete ke tabel yang ada didatabase.

Pada umumnya model berisikan beberapa function seperti insert, update, dan mendapatkan data dari. Untuk lebih jelasnya mari kita lihat contoh lengkap dari sebuah model.

class Blogmodel extends CI_Model {

    var $title   = '';
    var $content = '';
    var $date    = '';

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }
    
    function get_last_ten_entries()
    {
        $query = $this->db->get('entries', 10);
        return $query->result();
    }

    function insert_entry()
    {
        $this->title   = $_POST['title']; // please read the below note
        $this->content = $_POST['content'];
        $this->date    = time();

        $this->db->insert('entries', $this);
    }

    function update_entry()
    {
        $this->title   = $_POST['title'];
        $this->content = $_POST['content'];
        $this->date    = time();

        $this->db->update('entries', $this, array('id' => $_POST['id']));
    }

}

Pada model Blogmodel atau class Blogmodel terdapat function Active Record, dimana kita tidak perlu memanggil SQL Query seperti biasanya, cukup dengan mereferensikan data yang akan diinsert atau diupdate atau untuk select sebuah data.

Model pada CodeIgniter diletakan di folder “/application/models/” bisa juga diletakan pada sub direktori pada directori models, untuk contoh paling sederhana dari sebuah model di CodeIgniter adalah sebagai berikut.

class Model_name extends CI_Model {

    function __construct()
    {
        parent::__construct();
    }
}

Model diatas akan disimpan pada

/application/models/model_name.php

Untuk menggunakan models pada CodeIgniter caranya cukup dengan menuliskan code berikut pada file controller yang kita miliki.

$this->load->model('Model_name');

Berikut cara penggunaan untuk memanggil fungsi yang ada di dalam sebuah model

$this->model_name->function();

Dimana function() merupakan function yang ada didalam class Model_name. Untuk menggunakan model biasanya kita memanggilnya melalui controller. Berikut cara untuk implementasi penggunaan models didalam sebuah controllers

class Blog_controller extends CI_Controller {

    function blog()
    {
        $this->load->model('Blog');

        $data['query'] = $this->Blog->get_last_ten_entries();

        $this->load->view('blog', $data);
    }
}

Kita juga bisa memanggil model secara otomatis tanpa menggunakan cara diatas yang telah dijelaskan, kita bisa menambahkan nama model yang akan diload pada “application/config/autoload.php” bagian models.

Seperti telah dijelaskan sebelumnya models pada CodeIgniter merupakan sebuah bagian yang akan mengakses data yang ada didalam database, untuk itu models harus sudah disetting beberapa parameter untuk melakukan koneksi ke database. Untuk melakukannya kita bisa membuka file “application/config/database.php” kemudian perhatikan bagian yang ada konfigurasi untuk membuka koneksi ke database server (bagian ini terdapat pada baris 51 – 54)

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';          // user yang berhak mengakses ke database
$db['default']['password'] = 'password';      // password untuk user yang sebelumnya dideklarasikan
$db['default']['database'] = 'blog';          // nama database yang akan diakses

Biasanya jumlah models akan selaras dengan jumlah tabel yang kita miliki, karena 1 model biasanya mereferensikan 1 table. Kita pun harus menuliskan beberapa function standard yang akan kita pakai didalam fungsi dasar sebuah model yaitu insert, update, delete, select (dengan filter search).

Jangan lupa untuk memfollow akun twitter kita di @belajarngoding dan like BelajarNgoding.com di facebook