Tuesday, March 8, 2016

Membuat Model yang Berelasi dapat di Searching, Sorting dan Filter di YII

Cara Membuat Model yang Berelasi dapat di Searching, Sorting dan Filter di YII - Dalam membuat sebuah aplikasi berbasis web, apabila aplikasi yang dibuat sangat kompleks tentunya dibangun tidak hanya dengan satu tabel, melainkan banyak tabel yang berelasi satu sama lainnya.

membuat, relasi, yii, sorting, searching, filtering


Dengan menggunakan yii framework dapat mempermudah melakukan relasi tabel tanpa query sql, salahsatunya adalah dengan memandaatkan model, karena yii mendukung konsep mvc, biasanya kasus ini terjadi dalam cgridview yang berelasi dan ingin data yang berelasi itu dapat di sorting, serching dan filter, berikut adalah tutorial cara membuat model yang berelasi dapat di cari, diurutkan dan di saring:

Pertama
Anda tentukan model yang akan direlasikan, disini saya punya kasus tabel Post dengan tabel Category, berarti untuk di YII dapat melakukan konfigurasi relasi di Model Post, kemudian buka Model Post.php pada folder models

Tabel Post
table, mysql, rancangan tabel, post

Tabel Kategory
table, mysql, rancangan tabel, category
Kedua
cari public function relations(), kemudian tambahkan baris kode berikut, untuk merelasikan model Post dengan Kategori, konfigurasinya pada model Post.php di folder models
'Category'=>array(self::BELONGS_TO,'Category','id_category'),

Ketiga
cari public function rules(), kemudian tambahkan baris kode untuk mencari nama kategori, contohnya disini adalah
array('categoryName', 'safe'),

Keempat
caro public function search(), kemudian anda tambahkan baris kode dibawah ini
$criteria->with = array('Category',);
$criteria->addSearchCondition('Category.name', $this->categoryName);

Kelima
Buka folder views, kemudian cari admin.php, setelah itu pada widget cgridview tambahkan baris kode berikut, agar nama kategori tadi dapat di searching, filter dan sorting
array(
'name' => 'id_category',
'value'=> '$data->Category->name',
'filter' => CHtml::activeTextField($model, 'categoryName'),
),
Menampilkan Nama Kategori pada tabel kategori di Tabel Post
tabel relasi, yii, admin, cgridview

Contoh Hasil Searching di Cgridview pada Model yang Berbeda
table, mysql, rancangan tabel, post

Comments

2 komentar

mugi bantuan urang,,,


EmoticonEmoticon