[Moscow.pm] DBIx::Class has_many и count
Alexander Q
qalex на ashmanov.com
Ср Июл 29 04:31:13 PDT 2009
my $a = $db->resultset('A')->search(
{},
{
join => 'B',
select => [
\"COUNT(b.id),
( map { "me.$_" } $db->resultset('A')->result_source->columns )
],
as => [
'count',
( $db->resultset('A')->result_source->columns )
],
group_by => [
map { "me.$_" } $db->resultset('A')->result_source->columns
],
order_by => [ \"COUNT(b.id)" ],
}
);
вот что я родил, но это какой-то урод. Но работает.
В Срд, 29/07/2009 в 15:17 +0400, Alexander Q пишет:
> Ситуация:
> CREATE TABLE a (
> id INTEGER PRIMRARY KEY,
> data TEXT
> );
> CREATE TABLE b (
> id INTEGER PRIMRARY KEY,
> data TEXT,
> a INTEGER REFERENCES a(id)
> );
>
> Хочется при помощи относительно стандартных средств DBIx::Class словить
> результат такого запроса:
>
> SELECT a.*
> FROM a a
> LEFT JOIN b b ON a.id = b.a
> ORDER BY COUNT(b.*)
> GROUP BY a.id, a.data;
>
> Кроме как писать свой result source методом из кукбука, есть способы?
>
--
Alexander Q <qalex на ashmanov.com>
Подробная информация о списке рассылки Moscow-pm