Pada tutorial sebelumnya kumpulan-software.com telah sharing tentang MVC View pada codeigniter. Nah Sekarang kumpulan-software.com akan sharing mengenai MVC Model, MVC Model ini bertugas untuk merespon permintaan data yang dilakukan oleh Controller dimana data ini diambil dari database, atau menyimpan data yang dikirimkan oleh Controller ke dalam database.
1. Membuat Database dan Tabel
Pertama-tama yang harus kita lakukan adalah meng-config database yang akan digunakan oleh codeigniter. Tetapi sebelumnya mari kita buat dulu database dan table sederhana menggunakan MySQL dengan perintah DDL dan DML seperti dibawah ini.
CREATE TABLE `menu` ( `id` int(11) NOT NULL AUTO_INCREMENT, `menu_name` varchar(100) NOT NULL, `menu_link` varchar(50) NOT NULL, `menu_icon` varchar(50) NOT NULL, `parent` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; INSERT INTO `menu` (`id`, `menu_name`, `menu_link`, `menu_icon`, `parent`) VALUES (NULL, 'Core', '#', 'fa fa-database nav-icons', '0'), (NULL, 'Daftar Menu', 'menu', 'fa fa-chevron-right nav-icons', '1'), (NULL, 'Menu Roles', 'menu/roles', 'fa fa-chevron-right nav-icons', '1'), (NULL, 'Manangement Users', 'users', 'fa fa-chevron-right nav-icons', '1');
2. Setting Database Pada CodeIgnitor
Setelah sukses menjalankan perintah di atas, langkah selanjutnya adalah mengedit file database.php yang berada di dalam folder application/config/.
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'myapps', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE );
3. Menjalankan Library Database Secara Automatis
Pada aplikasi yang dinamis, kita akan sangat sering berinteraksi dengan database. Maka sangat disarankan untuk menjalankan library database codeigniter secara otomatis. Untuk melakukannya silahkan adiks membuka file autoload.php yang terletak di dalam folder yang sama dengan database.php yaitu di folder application/config/. Pada baris ke 61 kita tambahkan ‘database’ ke dalam array autoload libraries.
$autoload['libraries'] = array('database');
4. Menjalankan Library Helper URL Secara Automatis
Helper url ini akan sangat kita butuhkan saat memasang template nantinya. Jadi saatnya untuk membuat helper url ini di jalankan secara otomatis. Seperti langkah di atas, buka file application/config/autoload.php kemudian pada baris ke 92, tambahkan ‘url’ ke dalam autoload helper;
$autoload['helper'] = array('url');
5. Membuat MVC Model
Nah sekarang lah saat yang paling kita tunggu tunggu, membuat Model codeigniter!!!. Model pada codeigniter adalah sebuah class sama seperti Controller. Perbedaannya Controller berhubungan langsung dengan View dan dapat juga berhubungan dengan Model untuk keperluan data sedangkan Model hanya berhubungan dengan Controller saja. Mari kita membuat file Model di dalam folder application/models/ yang bernama Model_menu.php.
<?php class Model_menu extends CI_Model { public function getMenu() { $table = 'menu'; $query = $this->db->get($table); return $query; } }
6. Memanggil Model Dalam Controller
Langkah berikutnya, pada Controller Menu.php, mari kita tambahkan proses pemanggilan Model. Sehingga akan terlihat seperti dibawah.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Menu extends CI_Controller { public function index() { $data['pageTitle'] = 'Daftar Menu'; // Memanggil model Menu $this->load->model('model_menu'); // Mengambil data alumni dari fungsi getAlumni pada model_alumni $data['menu'] = $this->model_menu->getMenu(); $this->load->view('menu', $data); } }
7. Menampilkan Data Menu Pada View
Tugas kita berikutnya adalah menampilkan data alumni pada View menu.php.
<section class="content container-fluid"> <div class="box"> <div class="box-header with-border"> <h3 class="box-title">Daftar menu </h3> <div class="box-tools pull-right"> <button type="button" class="btn btn-box-tool" data-widget="collapse" data-toggle="tooltip" title="Collapse"> <i class="fa fa-minus"></i></button> </div> </div> <div class="box-body"> <div class="table-responsive"> <table id="example1" name="example1" class="table table-bordered"> <thead> <tr> <th>No</th> <th>Menu Name</th> <th>Menu Link</th> <th>Menu Icon</th> <th>Parent</th> </tr> </thead> <tbody> <?php $no = 0;foreach ($menu as $row): ?> <tr> <td><?php echo ++$no; ?></td> <td><?php echo $row->menu_name; ?></td> <td><?php echo $row->menu_link; ?></td> <td><?php echo $row->menu_icon; ?></td> <td><?php echo $row->parent; ?></td> </tr> <?php endforeach?> </tbody> </table> </div> </div> </div> </section>
8. Membuka Project Codeignitor di browser
tutorialnya mantap mas. trus lanjutkan