Yii如何从数据库中检索数据并在视图中显示

时间:2014-10-28 01:51:30

标签: php yii

我试图从数据库中检索数据......但我遇到了一些问题

以下是我的编码:

在控制器中:

public function actionFinalCheck()
{

    $gametitle=GamesDevelopersApp::model()->find('develper_id=1',array('gametitle'));
    $this->render('finalcheck',array('gametitle'=>$gametitle));
}

在视图(PHP)中:

<?php print_r($gametitle); ?>

我需要的是"select gametitle from db where developer_id=1",但在 Yii 我不知道该怎么做

或者更好的方法从数据库中检索数据并在视图中显示?感谢

4 个答案:

答案 0 :(得分:4)

您可以通过以下方式执行此操作:

有效记录

你需要有一个模型和模型,你可以获取如下数据:

$object=GamesDevelopersApp::model()->findByAttributes(array("develper_id"=>1));
echo $object->gametitle; // prints gametitle

查询构建器

$row=Yii::app()->db->createCommand()->select('gametitle')->from('db')->where('id=1')->queryRow();
echo $row['gametitle']; //prints gametitle

DAO(数据访问对象)

$sql="select gametitle from db where developer_id=1";
$command=Yii::app()->db->createCommand($sql)->queryRow();
echo $command['gametitle']; //prints gametitle

答案 1 :(得分:0)

您正在传递参数:developer_id但未在条件中使用它。 尝试传递一个CDBCriteria对象,如下所示:

$criteria = new CDbCriteria();
$criteria->compare('id', 1); // Check that the column gametitle is equal to 1
$gametitle=GamesDevelopersApp::model()->findAll($criteria);

有关详细信息,请参阅针对ACtiveRecord http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAll-detail的findAll方法

答案 2 :(得分:0)

我用它对我来说很好用!

在控制器中

public function actionFinalCheck()
{

    $developer_id = 'developer_id=1';
    $gametitle=GamesDevelopersApp::model()->find($developer_id);

    $this->render('finalcheck',array('gametitle'=>$gametitle));
}

在视图(PHP)中:

<?php echo CHtml::encode($gametitle->gametitle); ?>

答案 3 :(得分:0)

public function getQuotes()
    {    
       $sql="select * from db";
        $command=Yii::app()->db->createCommand($sql)->queryAll();
        foreach($command as $commands)
        echo $commands['gametitle']; 
    }

在视图中:

<?php echo CHtml::encode($model->gametitle)?>