在CGridView的Yii关系中使用分组聚合SQL

在CGridView的Yii关系中使用分组聚合SQL,gridview,yii,relational-database,Gridview,Yii,Relational Database,我正在尝试做一些与thomas.mery发布的内容非常相似的事情,但无法使其工作,这是代码,你能看到我做错了什么吗 我有这些桌子: 事件 -身份证 邀请代码 -代码 -事件(fk指向event.id) 事件模型具有以下关系: 'InvitationCodes'=>数组(self::有许多'InvitationCode','event') 我将其添加到由Gii生成的Event::search()中: $criteria->with=array('InvitationCodes'=>array(

我正在尝试做一些与thomas.mery发布的内容非常相似的事情,但无法使其工作,这是代码,你能看到我做错了什么吗

我有这些桌子:

  • 事件
    -身份证

  • 邀请代码
    -代码
    -事件(fk指向event.id)

事件模型具有以下关系:
'InvitationCodes'=>数组(self::有许多'InvitationCode','event')

我将其添加到由Gii生成的Event::search()中:
$criteria->with=array('InvitationCodes'=>array('select'=>'COUNT(*)as qtty')
$criteria->together=true
$criteria->group='t.id'

然后在事件的CGRID视图中,我想显示QTY字段,因此我在列中包括:
'InvitationCodes.qtty'


列带有标题,但没有值。我做错了什么

您可以将公共属性$qtty添加到InvitationCodes模型中,并通过$theResultRow->InvitationCodes->qtty(或类似字符串的配置中的InvitationCodes.qtty)获取值

但在您的情况下,使用统计查询关系要好得多: