1. PHP
  2. Yii Framework

Yii Framework – Bekerja dengan Model

Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain. Model paling mudah dimengerti sebagai data, yakni data yang digunakan dan dimanipulasi. Model sering terkait dengan tabel database di mana satu model merepresentasikan satu baris data dari sebuah tabel.

Secara default, model dalam aplikasi Yii di simpan pada direktori protected/models. Pada Yii Framework terdapat dua jenis model. Pertama yang di dasarkan pada tabel database dan model yang tidak berhubungan dengan database (alternatif yang biasanya di gunakan pada form yang tidak berhubungan dengan database, contoh pada form kontak)

Dalam Yii, setiap kelas model harus mewarisi langsung dari kelas CModel, atau lebih umum dari subclass CModel. Yii mendefinisikan dua subclass: CActiveRecord dan CFormModel. CActiveRecord adalah model yang terkait dengan tabel database, dan CFormModel adalah model yang tidak terikat pada tabel database. Kedua jenis model ini memiliki tujuan yang sama :

  1. Menyimpan data
  2. Mendefinisikan aturan bisnis untuk data tersebut

Kelas Model yang mewarisi kelas CFormModel memiliki struktur umum seperti ini:

class ClassName extends CFormModel 
{
    // Attributes...
    public $someAttribute;

    // Methods...
    public function rules() {}
    public function attributeLabels() {}
}

Dan Kelas Model yang mewarisi kelas CActiveRecord memiliki struktur umum seperti ini:

class ClassName extends CActiveRecord 
{
    // Methods...
    public function model($className=__CLASS__) {}
    public function tableName() {}
    public function rules() {}
    public function relations() {}
    public function attributeLabels() {}
    public function search() {}
}

Seperti yang terlihat, metode rules() dan attributeLabels() di deklarasikan pada kedua jenis model di atas, karena kedua jenis model di wariskan dari kelas CModel. Pada kelas model yang mewarisi kelas CFormModel, kita harus mendeklarasikan atribut atribut yang akan digunakan, sementara pada kelas model yang mewarisi kelas CActiveRecord, kita tidak harus mendeklarasikan atribut atribut yang ada pada tabel database. Pada kelas model yang mewarisi kelas CActiveRecord ini juga, kita wajib mendeklarasikan dua metode lain yaitu :

  1. model() – Mengembalikan model static dari kelas ActiveRecord yang ditentukan
  2. tableName() – Mengembalikan nama tabel pada database
Comments to: Yii Framework – Bekerja dengan Model

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

    Attach images - Only PNG, JPG, JPEG and GIF are supported.