假设我想为CGridView提供CActiveDataProvider。我需要将SUM(invitesCount) AS invites
放入Provider结果中。如何检索?我想我不能只使用$dataProvider->invites
?
答案 0 :(得分:2)
您需要在relationinvites中指定以下内容
'invites '=>array(self::BELONGS_TO, 'CampaignFund', 'campaign_id', 'select' => 'SUM(invitesCount)'),
并在您的标准中使用此关系。
答案 1 :(得分:1)
其他几个选项:
invitesCount=>array(self::STAT,'Invites','foreign_key_field');
添加公共财产可以奏效。但是,只有在您更改默认查找查询以包含此新条件时,才会设置该字段。这可以通过覆盖defaultScope()
或创建新scope
并在需要invitesCount
时使用它来完成。
另一种选择是从所需查询创建数据库视图,并从该数据库视图创建新模型。