Halo, kali ini saya akan berbagi pengalaman dan cara untuk membuat fungsi pencarian data di tabel lain yang berelasi, lalu di tampilkan di CGridView YII, adapun kasus ril nya, kita akan mencari data pengawas dari tabel pengawas di tabel Main.

Keterangan gambar yang dilingkari adalah tabel Pengawas.
langsung saja ke kodingnya, masuk ke Model yii. lalu masukan koding ini :
public $pengawas11;
tambah koding di rules()pengawas11', 'safe', 'on'=>'search'),
lalu masukan di relation(),'pengawas1' => array(self::BELONGS_TO, 'Pengawas', 'pengawas1'),
masukan koding public function search()
$criteria->with = array( 'pengawas1' );
$criteria->compare('pengawas1.nama', $this->pengawas11, true );
lalu tambahkan di bagian bawah rules()
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'attributes'=>array(
'pengawas11'=>array(
'asc'=>'pengawas1.nama',
'desc'=>'pengawas1.nama DESC',
),
'*',
),
),
));
pengawas1 adalah nama relasi nya, jika selesai, lalu masuk ke view admin, dan tambahkan koding ini;
array(
'name'=>'pengawas11',
'header'=>'Pengawas',
'value'=>'$data->pengawas1()->nama'
),
maka hasilnya akan sesuai dengan gambar pertama tadi, semoga bermanfaat, terimakasih.
jangan lupa untuk membaca tutorial yang lainnya disini :
- Cara Mengembalikan File yang Terhapus di Flashdisk Tanpa Aplikasi
- Cara Mengatasi Multiple submit / double klik submit php dan html
- Cara Membaca eror file XML saat upload xml di Coretax
- Membuat Fungsi Cari Data di tabel Relasi PHP YII CGridView
- Cara Mengatasi Error 503 Services Unavailable YII FRAMEWORK di Hosting