计算汇总我在Yii的1.1一个简单的模型:的Yii:按日期
Expense
amount: int
date: string
如何通过使用内置的Yii的能力日期计算合计?
换句话说我想通过获得以下查询的结果的Yii:
SELECT
date, SUM(amount) AS dateAmount
FROM
tbl_expense
GROUP BY
date
ORDER BY
date DESC
计算汇总我在Yii的1.1一个简单的模型:的Yii:按日期
Expense
amount: int
date: string
如何通过使用内置的Yii的能力日期计算合计?
换句话说我想通过获得以下查询的结果的Yii:
SELECT
date, SUM(amount) AS dateAmount
FROM
tbl_expense
GROUP BY
date
ORDER BY
date DESC
我已经探索了2种方式执行查询,
第一:
$list= Yii::app()->db->createCommand('SELECT date, SUM(amount) AS dateAmount
FROM tbl_expense
GROUP BY date
ORDER BY date DESC')->queryAll();
var_dump($list->getData());
第二: (通常用于向Gridview和Listview提供数据提供者)
$select = "SELECT date, SUM(amount) AS dateAmount
FROM tbl_expense
GROUP BY date
ORDER BY date DESC";
$dataProvider=new CSqlDataProvider($select,
array(
'pagination'=>false,
'params'=>$sqlParam
)
);
var_dump($dataProvider->getData());
这会工作,但它是一个SQL。有没有Yii方式来解决这个任务? –
CDbCriteria是使用Active Record的选项。但对于SUM,我没有得到预期的答案 –
你可以使用标准
$criteria = new CDbCriteria();
$criteria->select = 'date, SUM(amount) dateAmount';
$criteria->group = 'date';
$model=Expense::model()->find($criteria);
日期是永远不会在字符串格式 –