我有一个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查询中分配另一个属性? (我添加了公共$点击,但它不起作用)。 感谢。
答案 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;