Thanks, I think, that I found my mistake. I have to use table alias in
LEFT JOIN, like LEFT JOIN ar.Busstops, but I forgot, because it was at
2 AM and was really tired...

On Jan 29, 10:51 am, wissl <[email protected]> wrote:
> Try to use the table names instead of the class names in the subquery.
>
> On 29 Jan., 00:54, MaEcTPo <[email protected]> wrote:
>
>
>
> > I wrote a raw SQL, like this:
>
> > SELECT b2.title, r.title
> > FROM route r
> > LEFT JOIN busstop_route b ON (r.id = b.route_id)
> > LEFT JOIN busstop b2 ON b2.id = b.busstop_id
> > WHERE b2.id <> 3
> > AND b.direction_id =
> > (
> >     SELECT ab.direction_id
> >     FROM route ar
> >     LEFT JOIN busstop_route ab ON (ar.id = ab.route_id)
> >     WHERE ab.busstop_id = 3
> >     AND r.id = ar.id
> > );
>
> > And I would like to write it in DQL. All goes good before subquery.
>
> >  $q = Doctrine_Query::create()
> >         ->from('Route r');
> >         $q->leftJoin('r.Directions d');
> >         $q->leftJoin('r.Busstops b');
> >         //$q->leftJoin('b.Places');
> >         $q->andWhere('b.id <> ?', $this->getId());
> >         $q->andWhere('d.id = (
> >     SELECT ab.direction_id
> >     FROM Route ar
> >     LEFT JOIN Busstops ab ON (ar.id = ab.route_id)
> >     WHERE ab.busstop_id = 3
> >     AND r.id = ar.id
> > )', '');
>
> > And here I receive strange errors. Symfony talks to me - "Couldn't
> > find class Busstops". But it has to find relation busstops (like in
> > main query), not class. When I change Busstops to Busstop I receive
> > "Unknown relation alias".
>
> > Do you understand what I need to do?
>
> > Please, help!

-- 
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en.

Reply via email to