Php yii查询后分配动态属性
我有一个问题:Php yii查询后分配动态属性,php,mysql,yii,Php,Mysql,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'; 查询运行正常,并返回
$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';
查询运行正常,并返回所有参数。问题是impressions模型没有click
属性,并且它没有显示为属性(因此我不能在小部件中使用它)
知道如何从SQL查询中分配另一个属性吗?(我添加了公共$clicks,但它不起作用)。
谢谢。公共$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;
您可以为它创建一个
mysql视图
和一个模型
。我不确定是否还有其他方法。它正在工作……真遗憾,我在一次测试中使用了DataProvider,但忘了将其改回CActive。