【问题标题】:Yii AR: how to select selected values count?Yii AR:如何选择选定的值计数?
【发布时间】:2015-04-10 12:18:39
【问题描述】:

我有返回唯一值的 SQL 查询以及该值在 DB 中的次数。

SELECT sl_keyword, COUNT(sl_keyword)
FROM search_log
GROUP BY sl_keyword

如何在 Yii 中使用活动记录来做同样的事情?此代码有效,但不返回计数。只有关键字和语言:

$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);

【问题讨论】:

  • 把代码放在你尝试使用count的地方
  • 你在哪里使用 $result 数组?
  • Yii::app()-&gt;db-&gt;createCommand($sql)-&gt;queryAll()代替AR

标签: php activerecord yii


【解决方案1】:

试试这样(我假设你正在使用 foreach 循环)

foreach($result as $r)
{
   $times =  $r['times'];  // get like this
   $sl_keyword =  $r['sl_keyword'];
   $sl_language =  $r['sl_language'];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多