[Moscow.pm] DBIx::Class прошу помощи...

Алексей Александров alexeyaleksandrov на gmail.com
Пн Июл 16 12:30:56 PDT 2012


>
> Средствами DBIx::Class нельзя передать в запрос AND iv.lang_id = 2 именно
> в ON


Условие объединения таблиц можно задавать самому
http://search.cpan.org/~frew/DBIx-Class-0.08198/lib/DBIx/Class/Relationship/Base.pm#condition


->has_many(
  t2 => ".....",
  { 'self.id' => 'foreign.key_id', 'foreign.lang_id' => 2})

16 июля 2012 г., 17:51 пользователь Sergey Malochinskiy <
sergey.malochinskiy на gmail.com> написал:

> Спасибо огромное!
>
> Такой запрос гораздо лучше, но я натолкнулся теперь на ограничение
> DBIx::Class
> SELECT i.key,  iv.value FROM t1 i LEFT OUTER JOIN t2 iv ON (iv.key_id
> = i.id AND iv.lang_id = 2) ORDER BY i.key
>
> Средствами DBIx::Class нельзя передать в запрос AND iv.lang_id = 2 именно
> в ON
> Рылся по спискам рассылки и нашел только один вариант создать
> DBIx::Class::ResultSource::View т.е. вписать запрос руками в вьюху...
> не очень нравится такое решение.
>
> Но может кому и пригодится...
>
>
> 16 июля 2012 г., 15:59 пользователь Akzhan Abdulin
> <akzhan.abdulin на gmail.com> написал:
> >
> > SELECT i.key,  iv.value FROM t1 i LEFT OUTER JOIN t2 iv ON (iv.key_id =
> i.id AND iv.lang_id = 2) ORDER BY i.key
> >
> > 16 июля 2012 г., 15:53 пользователь Sergey Malochinskiy <
> sergey.malochinskiy на gmail.com> написал:
> >>
> >> Здравствуйте.
> >>
> >> Помогите пожалуйста постичь эту "странную" порой вещь.
> >>
> >> Есть две таблички в MySQL, созданные и заполненные (см. data.sql во
> вложении).
> >>
> >> Написал вот такой запрос для вытаскивания данных:
> >> SELECT i.key, (SELECT iv.value FROM t2 iv WHERE  iv.key_id = i.id AND
> iv.lang_id = 2) as value
> >> FROM t1 i
> >> ORDER BY i.key
> >>
> >> Т.е. нужно вывести значения поля key из t1, даже если нет value в t2.
> >> key;value
> >> btn_signin;NULL
> >> caption_signin;NULL
> >> label_username_signin;NULL
> >> message1_signin;NULL
> >> url_feedback;NULL
> >> url_help;Help
> >> url_recovery;NULL
> >> url_signin;NULL
> >> url_signout;NULL
> >> url_signup;NULL
> >> url_signup_long;NULL
> >>
> >> Как теперь такой запрос выполнить через DBIx::Class ?
> >> Или может как-то преобразовать структуру таблиц... или запрос другой?!
> >>
> >> Помогите пожалуйста.
> >>
> >> --
> >> Best regards,
> >> Sergey Malochinskiy
> >> --
> >> Moscow.pm mailing list
> >> moscow-pm на pm.org | http://moscow.pm.org
> >>
> >
> >
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> >
>
>
>
> --
> Best regards,
> Sergey Malochinskiy
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Alexey Aleksandrov
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20120716/2dc9d05e/attachment.html>


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