Yii如何从数据库中获取数据

时间:2014-11-03 07:42:18

标签: php 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 个答案:

答案 0 :(得分:2)

在您的数据库请求中,您只是检索一个条目,因为您使用的是find方法:

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

在Yii doc中,你会看到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);  
 }; ?>