2015-02-03 3 views
0

사용자 및 회사 모델이 있습니다. 그들은 서로 관련이 있습니다.Yii dataprovider 관련 gridview 모델

사용자의 모델 :

'company_r'=>array(self::HAS_MANY, 'Company','user_id'), 

나는 아래의 예로서 관계를 사용하여있는 gridview에 지정된 사용자의 회사를 인쇄하려면 :

1 | company1 
2 | company2 
3 | company3 

내가이 방법 사용 가능 알고

Company::model()->findAllByAttributes(array('user_id'=>$user_id)); 

하지만이 방법을 사용하여이 작업을 수행하고 싶습니다.

$model=User::model()->findByPk($user_id); 

$this->widget('bootstrap.widgets.TbGridView', array(
//'dataProvider'=>$model->company_r->search(), 
.... 

어떻게 관련 모델 dataProvider를 얻을 수 있습니까?

답변

0
$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 
    'columns'=>array(
     'title',   
     'category', 
     'content:html', 
     array(   
      'header'=>'Company Name', 
      'value'=>'$data->company_r->name', 
     ), 




    ), 
)); 

여기에서 company_r은 사용자와 회사 간의 관계 이름입니다. 같은 사용자를 얻으십시오.

$dataProvider=new CActiveDataProvider('User',array(
'criteria'=>array() 
));