Использование сгруппированного статистического SQL в отношении Yii в CGridView - PullRequest
0 голосов
/ 11 февраля 2012

Я пытаюсь сделать что-то очень похожее на то, что опубликовал thomas.mery, но не могу заставить его работать, вот код, вы видите, что я делаю неправильно?

У меня есть эти таблицы:

  • событие
    -id

  • код приглашения
    -код
    -event (fk указывает на event.id)

Модель событий имеет такое отношение:
'InvitationCodes' => array( self::HAS_MANY, 'InvitationCode', 'event' )

Я добавил это в Event :: search(), сгенерированный Gii:
$criteria->with = array( 'InvitationCodes' => array( 'select' => 'COUNT(*) as qtty' ) );<br> $criteria->together = true;<br> $criteria->group = 't.id';

А затем в CGridView Events я хочу показать поле qtty, поэтому я включаю в столбцы:
'InvitationCodes.qtty'

Столбец выходит с заголовком, но без значений.Что я делаю неправильно?

1 Ответ

1 голос
/ 13 февраля 2012

Вы можете добавить открытое свойство $ qtty к вашей InvitationCodes-модели и получить значения через $ theResultRow-> InvitationCodes-> qtty (или InvitationCodes.qtty в конфигурации, подобной строке)

Но в вашем случае лучше использовать статистический запрос: http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query

...