2013-04-02 19 views
1
顯示一個CGridView

我試圖在一個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'), 
    ); 
} 

在用戶模塊中,

public function tableName() 
{ return 'login.user'; } 
在cgridview列陣列

$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 

控制器動作,

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, 
    )); 
} 
+0

http://www.yiiframework.com/doc/api/1.1/CArrayDataProvider - 它可以提供任何你想從任何數據源你想要的數據 –

+0

@RuslanPolutsygan,thnx爲你的信息.. letme檢查這個鏈接n回頭再次回來 –

+0

我可以有兩個數據庫之間的連接示例代碼 –

回答

1

如果我理解正確的話,你要表現出你的GridView的一個或多個關係。 如果這是你想要的,看看這個教程:http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/ 本教程不僅告訴你如何在你的gridview中顯示一個關係,但它也告訴你如何排序和過濾數據。祝你好運!

+0

thnx很多您的答覆,我試過這些,直到我的知識..實際上在我的GridView試圖顯示從database1.table1和database2.table2相關的數據,其中table2是在modules-> model ..當我嘗試獲取table2,它給null的值。我不知道如何從database2.table2 –

+0

獲取數據請粘貼儘可能多的代碼 –

+0

好的,所以你想從不同的數據庫獲取表2中的數據嗎?如果是這樣,你是否連接到這個第二個數據庫,因爲Yii本身並不根據我的知識來做到這一點。 –

相關問題