1

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クエリから別の属性を割り当てる方法はありますか? (public $clicks を追加しましたが、機能しません)。ありがとう。

4

1 に答える 1

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;
于 2012-08-23T17:39:16.543 に答える