[Moscow.pm] Подскажите фреймворк для работы с БД

Андрей Костенко andrey на kostenko.name
Чт Ноя 12 05:33:13 PST 2009


__PACKAGE__->has_one( 'related', 'Class', { 'foreign.a' => 'self.a',
'foreign.b' => 'self.b' } );
__PACKAGE__->might_have( 'related', 'Class', { 'foreign.a' => 'self.a'}, {
where => { 'foreign.b' => { '!=' => 'not needed' } }} );
PS: но если встречаются такие запросы, то проблема скорее всего не в
DBIx::Class, а в логике проекта, IMHO...

2009/11/12 Alexander Q <qalex на ashmanov.com>

> В Чтв, 12/11/2009 в 15:58 +0300, Андрей Костенко пишет:
> > Спорим, флейма не будет?)
> > 1. С DBIx::Class sql в коде не понадобится. Всё делается очень удобно
> > и красиво
> > 2. DBIx::Class очень быстрый, а последнее узкое место в нём (неXSные
> > accessor-ы) исправят буквально на днях
>
> Ситуция такова:
>
> create table a (
>  id integer primary key,
>  value text
> );
>
> create table b (
>  id integer primary key,
>  value text
> );
>
> create table c (
>  id integer primary key,
>  a integer references a(id),
>  b integer references b(id)
> );
>
> create table d (
>  id integer primary key,
>  a integer references a(id),
>  b integer references b(id)
> );
>
> хочу спросить, SELECT * FROM c JOIN d ON c.a = d.a AND c.b = d.b;
> и вот тут DBIx::Class мне не помощник вообще.
>
> Плох он так же в ситуации, когда я хочу
> SELECT * FROM b LEFT JOIN a ON a.id = b.a AND a.value != 'not needed';
>
> Я чего-то не знаю про DBIx::Class? Или это настолько редкие случаи, что
> они не считают нужным такое поддерживать?
>
> --
> Alexander Q <qalex на ashmanov.com>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20091112/20f189b5/attachment.html>


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