Hi kawan2 pengguna Yii. saya perlu bantuan nih, saya sedang membuat pencarian data dengan 2 model menggunakan CActiveDataProvider. Tetapi saya bingung bagaimana merelasikan 2 model tersebut. Berikut potongan codenya:
tabel user
------------
id_user
username
password
email
tabel profil
----------------
id_profil
nama_lengkap
tgl_lahir
alamat
pada model User.php
-----------------------------
public function search()
{
$criteria = new CDbCriteria;
$criteria->compare('id_user',$this->id_user);
$criteria->compare('username',$this->username,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('email',$this->email,true);
return new CActiveDataProvider('User', array(
'criteria' => $criteria,
));
}
pada UserController.php
------------------------------
public function actionCari() {
$model = new User('search');
if(isset($_GET['User']))
$model->attributes = $_GET['User'];
$this->render('/user/cari', array('model' => $model));
}
pada view cari.php
----------------------------------
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$.fn.yiiGridView.update('inbox-grid', {
data: $(this).serialize()
});
return false;
});
");
?>
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=> 'cari-grid',
'dataProvider' => $model->search(),
'columns'=>array(
'id_user',
'username',
'email',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
saya menginginkan agar tabel profil ikut disertakan dalam pencarian data tsb. semoga pertanyaan saya dapat dipahami. Mungkin ada saran yg lebih baik.terima kasih