Mysql yii正在尝试获取非对象的属性

Mysql yii正在尝试获取非对象的属性,mysql,yii,Mysql,Yii,我的mysql数据库中有一个表 我想说的是这个。以下是我预期的结果: 平均值=100.1 我正在尝试 $res = Users::model()->findAllBySql("SELECT avg(number) AS total FROM tbl_users",array()); echo $res->total; 但尝试获取非对象的属性时出错 当在php上用sql运行此查询时,我的管理员将完成它的工作 方法返回一个数组。 如果您只想获得一条记录,那么应该使用findBySql

我的mysql数据库中有一个表

我想说的是这个。以下是我预期的结果:

平均值=100.1

我正在尝试

$res = Users::model()->findAllBySql("SELECT avg(number) AS total FROM tbl_users",array());
echo $res->total;
但尝试获取非对象的属性时出错 当在php上用sql运行此查询时,我的管理员将完成它的工作

方法返回一个数组。

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

我想这里最好使用DAO:

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

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

在用户模型中,定义总计。如果在查询中使用alias,则需要在模型中定义它,否则它将导致此错误。这就是为什么它在phpmyadmin中工作,而不是在这里

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

我正在尝试但给我此错误用户。总计未定义我正在尝试但给我此错误未定义索引:total@Sepideh您是否使用了
queryRow()
queryAll()
方法?@Sepideh还要确保table
tbl\u user
是否有记录。@更好的方法是使用->queryScalar()进行此操作。因此,$res将包含结果值。