2014-11-03 56 views
0

如何從數據庫中獲取數據?一位開發商有多個遊戲,但是當我從DB出來調用數據只顯示一個數據Yii如何從數據庫中獲取數據

以下是我的編碼:

在控制器

$id = Yii::app()->user->getState('id'); 
$thedb = GamesDevelopersApp::model()->find('developer_id='.$id); 
$gametitle  = CHtml::encode($thedb->gametitle); 
$version  = CHtml::encode($thedb->version); 
$create_time = CHtml::encode($thedb->uploaddate); 
$status  = CHtml::encode($thedb->status); 

$this->render('applist',array('gametitle'=>$gametitle,'version'=>$version,'create_time'=>$create_time,'status'=>$status)); 

在HTML

<td class="apptd2"> 
     <?php foreach($models as $model){ 
      echo CHTML::encode($model->gametitle); 
     }; ?> 
    </td> 
+1

您的問題尚不清楚。作爲pe如果一個開發者有多個遊戲,那麼應該有多於一行的結果。你可以用$ thedb做foreach – 2014-11-03 07:47:04

+0

是'gametitle'關係嗎? – Dinistro 2014-11-03 07:53:42

+0

@AbhisekMalakar是的,它應該超過一行結果... foreach'$ thedb'?你有沒有例子?所以我可以嘗試理解 – TheSmile 2014-11-03 08:06:12

回答

2

在您的數據庫請求中,您只是檢索一個條目,因爲您是我們荷蘭國際集團的find方法:

$thedb = GamesDevelopersApp::model()->find('developer_id='.$id); 

而且在Yii的文檔,你會看到他的FOT方法find

查找具有指定條件的單個活動的記錄。

這就是爲什麼下面的循環有沒有意義

<?php foreach($gametitle as $title){ 
    echo $title; 
}; ?> 

對我來說,最好是在控制器中使用findAll

$id = Yii::app()->user->getState('id'); 
$models = GamesDevelopersApp::model()->findAll('developer_id='.$id); 
$this->render('applist',array('models'=>$models)); 

並在視圖下面的循環:

<?php foreach($models as $model){ 
    echo CHTML::encode($model->gametitle); 
}; ?> 
+0

感謝您的回覆,但輸出錯誤是'試圖獲得非對象的屬性' – TheSmile 2014-11-03 09:04:56

+0

@darkheir,你說你想使用'findAll',但是你正在使用'find'。 – Dinistro 2014-11-03 09:06:03

+1

我的不好,這是我的國家的早晨^^ – darkheir 2014-11-03 09:07:20

相關問題