Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii查询后分配动态属性_Php_Mysql_Yii - Fatal编程技术网

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。