Yii - 使用MySQL AS子句字段

时间:2013-04-04 08:09:14

标签: mysql yii custom-fields customcolumn cactivedataprovider

假设我想为CGridView提供CActiveDataProvider。我需要将SUM(invitesCount) AS invites放入Provider结果中。如何检索?我想我不能只使用$dataProvider->invites

2 个答案:

答案 0 :(得分:2)

您需要在relationinvites中指定以下内容

'invites '=>array(self::BELONGS_TO, 'CampaignFund', 'campaign_id', 'select' => 'SUM(invitesCount)'),

并在您的标准中使用此关系。

答案 1 :(得分:1)

其他几个选项:

  1. 使用CStatRelation

    invitesCount=>array(self::STAT,'Invites','foreign_key_field');
    
  2. 添加公共财产可以奏效。但是,只有在您更改默认查找查询以包含此新条件时,才会设置该字段。这可以通过覆盖defaultScope()或创建新scope并在需要invitesCount时使用它来完成。

  3. 另一种选择是从所需查询创建数据库视图,并从该数据库视图创建新模型。