[Moscow.pm] DBIx и свертка в массивы

Ruslan Zakirov ruz на bestpractical.com
Ср Авг 17 11:06:02 PDT 2011


Привет,

Чем это отличается от следующего кода?

my %res;
while ( my $rec = $set->next ) {
    push @{ $res{ $rec->some } ||= [] }, $rec->id
}

Это псевдо код.

В ORM часто проблематично реализовать статистику с применением GROUP
BY, HAVING, функций агрегации (а ваша задача с массивом и есть
агрегация значений). Проблема в том, что набор значений, который вы
получаете, не имеет класса для отображения. Это уже не чистые записи
из таблицы с соответствующей схемой, а записи с уникальной схемой, и
их нужно отразить на соответствующие уникальные объекты. Есть что-то
такое в DBIxC? Я не знаю.

2011/8/16 Ivan Petrov <i.petro.77.00 на gmail.com>:
> некоторые БД умеют сворачивать в массивы значения столбиков если
> делается GROUP BY.
>
> вопрос можно ли аналогичный запрос составить через DBIx?
>
> то есть например таблица
>
> (id, some)
>
> надо сделать GROUP BY по some и получить в каждой выборке в поле some
> массив id.
>
> как?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best regards, Ruslan.


Подробная информация о списке рассылки Moscow-pm