Yii и группа активных записей по количеству


Я относительно новичок в Yii и хотел бы немного поэкспериментировать. Я просмотрел весь Интернет и совершенно не представляю, как к этому подойти. Я освоил основы Yii, но я думаю, что это довольно продвинутый процесс, или я просто глуп.

У меня есть таблица MYSQL со списком купленных товаров. В этой таблице в качестве основного поля указан идентификатор CUSTOMER_ID, причем каждый идентификатор CUSTOMER_ID может содержать более одного ЭЛЕМЕНТА. Я хотел бы сделать подсчет ПО TRANSACTION_ID, а затем оценивать как в соответствии со следующей логикой:

1) IF myCount = 1 then businessType = 'New'; 
2) If myCount = 2 then businessType = 'Repeat'; 
3) If myCount > 2 then businessType = '2+ Repeat'; 

Однако я не уверен, где и как было бы лучше всего это сделать? После сохранения()?? Или в контроллере? Я должен получить результат запроса в СГРУППИРОВАННЫЙ объект CActiveDataProvider, когда я передаю эти данные в Highcharts.

Моя группировка должна выглядеть следующим образом (от самого низкого уровня до самого высокого):

businessType->store->item->{Count(ITEM), SUM(Cost)}

К сожалению, я не могу добавить переменную в таблицу и действительно хотел бы добиться этого, не имея к. Любая помощь приветствуется!

Author: Herm, 2013-12-10

1 answers

Для этого вам нужно будет использовать CDbCriteria для группировки результатов в CActiveDataProvider. Смотрите здесь http://www.yiiframework.com/doc/api/1.1/CDbCriteria#group-detail . Вам нужно будет реализовать это в своем контроллере примерно так;

$criteria = new CDbCriteria;
$criteria->select = 'the columns to select, and maybe SUM()';
$criteria->group = 'columns to group by';
etc
etc

$dataProvider = new CActiveDataProvider('model name', $criteria);

Не зная точной реализации вашей базы данных, я могу привести только общий пример, но вы должны найти что-то подобное, что работает для вас. Я не уверен, как получить группировку, о которой вы говорите, как businessType->store->item->{Count(ITEM), SUM(Cost)}, так как вы этого не сделали показана структура вашей базы данных и модели.

 5
Author: Joe Miller, 2013-12-09 22:42:00