yii试图获得非对象的属性

时间:2014-10-14 08:38:41

标签: mysql yii

我的mysql db中有一个表

我想要的是什么。请参阅下面我感谢的结果:

平均= 100.1

我正在尝试

$res = Users::model()->findAllBySql("SELECT avg(number) AS total FROM tbl_users",array());
echo $res->total;

但是给我错误试图获取非对象的属性 什么时候在php上运行这个查询我的管理员工作!!

2 个答案:

答案 0 :(得分:1)

findAllBySql()方法返回一个数组。 http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAllBySql-detail

如果您只想获得一条记录,那么您应该使用findBySql()方法。

我猜这里更好用DAO:

$res = Yii::app()->db->createCommand("SELECT avg(number) AS total FROM tbl_users")->queryRow();

if(!empty($res)){
    echo $res['total']
}

答案 1 :(得分:0)

在“用户”模型中,定义总计。如果在查询中使用别名,则需要在模型中定义它,否则它将为您提供此错误。这就是它在phpmyadmin中工作的原因,但不是在这里。

class Users  extends CActiveRecord
{
    /**
     * @return string the associated database table name
     */
    public $total; // define total here 
    public function tableName()
    {