Model pada DataMapper


Model
Model pada DataMapper mengextend class DataMapper. Contohnya adalah sebagai berikut:


class Employee extends DataMapper{
var $has_one = array('deparment');
function __construct(){
parent::__construct();
$this->load->model('employees');
}
}


class Department extends DataMapper{
var $has_many = array('employee');
function __construct(){
parent::__construct();
$this->load->model('departments');
}
}

table SQL:
create table Employee (id int primary key auto_increment, name varchar(30),department_id int not null);
create table Department (id int primary key auto_increment, name varchar(30));

Yang perlu diperhatikan adalah tatacara penamaan table SQL dan Model. Model diberi nama sesuai dengan bentuk singular nya, sedangkan table SQL diberi nama sesuai dengan bentuk pluralnya.

Controller
Controller dapat mengakses data dari model, membaca, maupun menulis


class Employees extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('employee');
}
function index(){
$employees=new Employee;
$employees->get();
foreach($employees as $employee){
echo $employee->name;//menampilkan nama employee
echo $employee->department->name;//menampilkan nama department
}
}
}

About abunajiyah
A Programmer

5 Responses to Model pada DataMapper

  1. abunajiyah says:

    menggunakan hierarchical mvc dengan datamapper menghasilkan error, ketika dua model berrelasi, namun berbeda hierarki. Misalnya model client dan model branch.client memiliki satu cabang, cabang memiliki banyak client. branch tidak dapat mengakses client nya dan menghasilkan error datamapper

  2. abunajiyah says:

    error tersebut hilang / kembali normal ketika kedua model yang berrelasi ditempatkan pada satu hierarki / folder yang sama

  3. topidesta says:

    kok gw bingung yah, ORM datamapper, btw apa maksudnya plural sama singular dalam hal nama? belum ada bayangan inih.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: