yii在查询后分配动态属性

时间:2012-08-23 15:21:53

标签: php mysql yii

我有一个Yii查询:

$criteria->select = 't.baniid,SUM(t.impression) AS impression, SUM(t.`unique`) AS `unique`, IFNULL((SELECT SUM(clicks) FROM _clicksdaily WHERE baniid=t.baniid GROUP BY baniid), "0") AS clicks';
$criteria->group = 't.baniid';

查询运行正常并返回所有参数。问题是,展示次数模型不具有click属性,并且它不会显示为属性(因此我无法在窗口小部件中使用它)...

任何想法如何从SQL查询中分配另一个属性? (我添加了公共$点击,但它不起作用)。 感谢。

1 个答案:

答案 0 :(得分:2)

public $clicks似乎对我有用。

在你的模特中:

public $clicks;
public function scopes() {
    return array(
        'clicks' => array(
            'select' => 't.baniid,SUM(t.impression) AS impression, SUM(t.`unique`) AS `unique`, IFNULL((SELECT SUM(clicks) FROM _clicksdaily WHERE baniid=t.baniid), 0) AS clicks',
            'group ' => 'baniid',
        ),
    );
}

然后使用它:

$firstModel = MyModel::model()->clicks()->find();
echo $firstModel->clicks;