我是yii框架的新手。我刚刚创建了一个应用程序,我想根据某些条件从数据库中获取数据,然后在视图中显示。为此我在控制器中尝试了一些东西:
if(isset($_GET['sku']))
{
$sku=$_GET['sku'];
$data=Products::model()->findAll("sku=$sku");
}
$this->render('checkout',array(
'data'=>$data,
));
在我的观点中,我尝试将数据打印为:
的print_r($数据);
我向我展示了一个复杂的数组,但我不希望这样。 我想要的是我可以从控制器获取一个数组,其中包括基于某些条件的查询返回数据,在我的视图中使用foreach我可以根据需要显示它们。
所以请建议我从db获取数据的一些好方法,并可以在我的视图中显示它们。
谢谢!
答案 0 :(得分:4)
在您的视图中使用以下内容:
<?php echo CHtml::encode($data->fieldname); ?>
或者更好的是,使用Gii代码生成器来构建您的CRUD函数,您将看到几个关于如何构建这些函数的好例子。这是一个非常好的教程的链接:http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app
答案 1 :(得分:1)
尝试使用DAO而不是Active Record
$sql = "SELECT * FROM `products` WHERE sku = ".Yii::app()->request->getParam('sku', 0);
$data = Yii::app()->db
->createCommand($sql)
->queryAll();
$this->render('checkout',array(
'data'=>$data,
));
配置文件中应该有db
个组件(例如config / main.php)