0

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

4

2 回答 2

2

您需要在您的关系邀请中指定以下内容

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

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

于 2013-04-04T09:02:02.030 回答
1

其他几个选项:

  1. 使用CStatRelation

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

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

于 2013-04-04T10:28:01.887 回答