내가 한 CGridView에 두 개의 데이터베이스 테이블 소스를 표시하려고 .. 2 테이블 reg.students 및 login.user이었다 .. 학생들 모델 관계이다는 두 개의 데이터베이스
public function relations()
{
Yii::app()->getModule('user');
return array(
'royaltyOutstandings' => array(self::HAS_MANY, 'RoyaltyOutstanding', 'studentID'),
'srkMedicalInfos' => array(self::HAS_MANY, 'SrkMedicalInfo', 'studentID'),
'parents' => array(self::HAS_ONE, 'SrkParents', 'studentID'),
'srkStudentWorksheets' => array(self::HAS_MANY, 'SrkStudentWorksheet', 'studentID'),
'user' => array(self::BELONGS_TO, 'User', 'centre_id'),
);
}
사용자 모듈
, cgridview 열 배열
public function tableName()
{ return 'login.user'; }
,
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'students-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'header' => 'No.',
'value' => '$row+1',
),
array('name' => 'user.centre_id',
'value'=>'$data->user->centre_id',
),
'... // & so on
컨트롤러 조치는 내가 제대로 이해 당신이 당신의 gridview에서 하나 개 이상의 관계를 표시 할 경우
public function actionAdmin()
{
$this->layout = 'column3';
$form = new Reports ;
$model=new Students('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['Students']))
$model->attributes=$_GET['Students'];
$this->render('admin',array(
'model'=>$model,
'form'=>$form,
));
}
http://www.yiiframework.com/doc/api/1.1/CArrayDataProvider - 원하는 데이터 소스에서 원하는 모든 데이터를 제공 할 수 있습니다. –
@RuslanPolutsygan, urn 정보는 thnx입니다.이 링크를 다시 확인하십시오. –
두 데이터베이스간에 연결을위한 샘플 코드가 있습니다. –