gpt4 book ai didi

php - 从 cdbcommand Yii 获取查询结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:47 24 4
gpt4 key购买 nike

过去两个小时我一直在尝试从我的查询中获取结果,在我的模型中我有这个

public function getQuotes()
{
$data = Yii::app()->db->createCommand('Select fromm from city_fare_final');
$data->queryRow();
return $data ;
}

在 Controller 中

    public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$model=new QuoteForm();

if(isset($_POST['QuoteForm']))
{
$model->attributes=$_POST['QuoteForm'];

if ($model->validate())
{
$priceTable=new CityFareFinal;
$priceTable->fromm=$model->pickupL;
$priceTable->too=$model->dropoffL;
$priceTable->type_of_car=$model->type;
this->render('result',array('model'=>$priceTable))
}

}
else
{
$this->render('index',array('model'=>$model));
}
}

在 View 中

    <div id="moduleResult">                          
<span><?php echo $model->getQuotes() ;?><------ Here</span>
</div>

但它总是给我一个错误,说“类 CDbCommand 的对象无法转换为字符串”,我该怎么做才能获得在模型中进行的查询的结果???

问候加布里埃尔

最佳答案

public function getQuotes()
{
$data = Yii::app()->db->createCommand('Select fromm from city_fare_final');
$data->queryRow();
return $data ;
}

您的 getQuotes() 返回 CDbCommand 类的对象:

+ You returned $data in the function instead of $data->queryRow(). 

顺便说一句,您不能对array 数据使用echo。下面的示例用于通过使用 DAO 和 Yii 从数据库中获取数据以查看:我想你有 Person 模型和 Person Controller

在你的 Person 模型中:

function getData() {
$sql = "SELECT * from Person";

$data = Yii::app()->db
->createCommand($sql)
->queryAll();
return $data;
}

在你的 Controller 中:

function index(){
$data = Person::model()->getData();

$this->render('your_view',array(
'data'=>$data,
));
}

在您看来:您可以foreach 您的数据以回显数组 数据中的项目:

<?php foreach($data as $row): ?>
//show something you want
<?php echo $row->name; ?>
<?php endforeach; ?>

关于php - 从 cdbcommand Yii 获取查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20016336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com