我试图从数据库中检索数据......但我遇到了一些问题
以下是我的编码:
在控制器中:
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 我不知道该怎么做
或者更好的方法从数据库中检索数据并在视图中显示?感谢
答案 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)?>