Yii-Active Record将特定列的平均结果返回为字符串

时间:2014-09-06 08:03:58

标签: php mysql activerecord yii

我有一个简单的问题。如何在Yii活动记录模型中使用MySQL AVG()查询并将pass作为字符串?这是我现在用我的代码查询的方式,但它作为NULL数组返回给我......

/**
 * Gets topic average rating by comments
 * @param int $topic_id the topic unique id
 *
 * @return int rate
 */
public static function WS_countAverageRating($topic_id){
    return ExploreComment::model()->findAll(array('select'=>"AVG(rating)",'condition'=>"topic_id='".$topic_id."'"));
}

1 个答案:

答案 0 :(得分:2)

我认为最优雅的方式是用统计关系来做。 将这样的内容添加到模型中的关系中:

'avarageRating' => array(SELF::STAT, 'ExploreComment', 'topic_id', 'select' => 'AVG(rating)'),

在此处阅读有关统计关系的更多信息:http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query