Привет,

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

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

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

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

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



-- 
Best regards, Ruslan.
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить