Php Yii AR:如何选择所选值计数?
我有一个SQL查询,它返回唯一的值以及该值在DB中的次数Php Yii AR:如何选择所选值计数?,php,activerecord,yii,Php,Activerecord,Yii,我有一个SQL查询,它返回唯一的值以及该值在DB中的次数 SELECT sl_keyword, COUNT(sl_keyword) FROM search_log GROUP BY sl_keyword 如何在Yii中使用active record执行相同操作?此代码有效,但不返回计数。仅限关键字和语言: $criteria = new CDbCriteria(); $criteria->select = 'sl_keyword, sl_language, C
SELECT sl_keyword, COUNT(sl_keyword)
FROM search_log
GROUP BY sl_keyword
如何在Yii中使用active record执行相同操作?此代码有效,但不返回计数。仅限关键字和语言:
$criteria = new CDbCriteria();
$criteria->select = 'sl_keyword, sl_language, COUNT(sl_keyword) as times';
$criteria->condition = 'sl_datetime >= :date_from AND sl_datetime <= :date_to';
$criteria->group = 'sl_keyword, sl_language';
$criteria->offset = $offset;
$criteria->limit = $itemsPerPage;
$criteria->params = array(':date_from' => $dateFrom, ':date_to' => $dateTo);
$result = self::model()->findAll($criteria);
$criteria=新的CDbCriteria();
$criteria->select='sl_关键字,sl_语言,计数(sl_关键字)作为时间';
$criteria->condition='sl\u datetime>=:date\u from和sl\u datetime这样试试(我假设您使用的是foreach循环)
将代码放在您尝试使用count的地方,放在您使用$result数组的地方?使用Yii::app()->db->createCommand($sql)->queryAll()
而不是AR
foreach($result as $r)
{
$times = $r['times']; // get like this
$sl_keyword = $r['sl_keyword'];
$sl_language = $r['sl_language'];
}