Pada tutorial kali ini kami akan membahas menangani search yang terhubung ke tabel lain.
Misal ada sebuah tabel purchase_order dengan field seperti di bawah ini
Pada tabel purchase_order tersebut ada field vendor_id yang terhubung ke tabel vendor seperti gambar di bawah ini:
Relasi pada model PurchaseOrder.php adalah seperti berikut:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
——–cut—————
‘vendor’ => array(self::BELONGS_TO, ‘TblVendor’, ‘vendor_id’),
——–cut————— );
}
Kemudian kita mempunyai tampilan search seperti berikut ini:
Supaya search bisa berjalan maka pada model PurchaseOrder.php sesuaikan:
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->join =”INNER JOIN tbl_vendor v ON v.vendor_id=t.vendor_id”;
//$criteria->compare(‘vendor_id’,$this->vendor_id);
$criteria->compare(‘v.vendor_name’,$this->vendor_id,true);
Kemudian views/purchaseOrder/admin.php
$this->widget(‘zii.widgets.grid.CGridView’, array(
‘id’=>’purchase-order-grid’,
‘ajaxUpdate’=>false,
‘dataProvider’=>$model->search(),
‘filter’=>$model,
‘columns’=>array(
————-cut————-
‘vendor.vendor_name’,
————-cut————-
Selamat mencoba.
Kunjungi www.proweb.co.id untuk menambah wawasan anda.