<?php
$month_total = Prices::model()->findAllBySql("SELECT FORMAT(SUM(p.choice_price),2) as total FROM prices p WHERE MONTH(p.choice_date) = MONTH(CURRENT_DATE())");
echo "<pre>"; var_dump($month_total); echo "</pre>"; exit();
?>
如果给出所需的结果,则查询有效,但var_dump
的结果为:
array(1) {
[0]=>
object(Prices)#309 (12) {
["price"]=>
NULL
["_new":"CActiveRecord":private]=>
bool(false)
["_attributes":"CActiveRecord":private]=>
array(0) {
}
["_related":"CActiveRecord":private]=>
array(0) {
}
["_c":"CActiveRecord":private]=>
NULL
["_pk":"CActiveRecord":private]=>
NULL
["_alias":"CActiveRecord":private]=>
string(1) "t"
["_errors":"CModel":private]=>
array(0) {
}
["_validators":"CModel":private]=>
NULL
["_scenario":"CModel":private]=>
string(6) "update"
["_e":"CComponent":private]=>
NULL
["_m":"CComponent":private]=>
NULL
}
}
知道我为什么得到这个吗?我想使用yii
中的finds
函数
试试这样,
foreach ($month_total as $t)
echo $t['total'];
尝试这样做
$c = new CDbCriteria();
$c->alias = "p";
$c->select = "FORMAT(SUM(p.choice_price),2) as total";
$c->condition = "MONTH(p.choice_date) = MONTH(CURRENT_DATE())";
$month_total = Prices::model()->findAll($c);