#1593: mis-parsing of WITH conditions on joins
-----------------------+----------------------------------------------------
Reporter: pbowyer | Owner: jwage
Type: defect | Status: new
Priority: major | Milestone: Unknown
Component: Compiler | Version: 1.0.3
Resolution: | Keywords:
Has_test: 0 | Mystatus: Pending Core Response
Has_patch: 0 |
-----------------------+----------------------------------------------------
Old description:
> {{{
> $q->select("(vp.rate_standard_day * $days + vp.rate_standard_week *
> $weeks) AS total_cost, ".
> "(vp.rate_premium_day * $days + vp.rate_premium_week *
> $weeks) AS premium_cost, ".
> "IF(vp.rate_standard_day * 0 + vp.rate_standard_week * 1,
> 0, 1) AS has_standard_price, s.name, ".
> "vt.name, v.*, l.*, vu.*, vp.*")
> ->from('Vehicle v')
> ->innerjoin('v.Price vp')
> ->innerJoin('v.Supplier s')
> ->innerJoin('v.Locations l')
> ->leftJoin('v.Upgrade vu WITH (vu.date_start <= ? AND
> vu.date_end > ?)', array($pickup_date, $pickup_date))
> ->orderBy('has_standard_price ASC, total_cost ASC,
> premium_cost ASC');
> }}}
>
> This should be OK however... Doctrine fails to resolve the 'vu' in the
> WITH clause, failing (this is via sfDoctrinePlugin) with the following:
>
> {{{
> Couldn't find class vu at ()
> in
> SF_ROOT_DIR/plugins/sfDoctrinePlugin/lib/doctrine/Doctrine/Table.php line
> 268
> }}}
New description:
{{{
$q->select("*")
->from('Vehicle v')
->leftJoin('v.Upgrade vu WITH (vu.date_start <= ? AND
vu.date_end > ?)', array($pickup_date, $pickup_date))
}}}
This should be OK however... Doctrine fails to resolve the 'vu' in the
WITH clause, failing (this is via sfDoctrinePlugin) with the following:
{{{
Couldn't find class vu at ()
in
SF_ROOT_DIR/plugins/sfDoctrinePlugin/lib/doctrine/Doctrine/Table.php line
268
}}}
--
Ticket URL: <http://trac.doctrine-project.org/ticket/1593#comment:1>
Doctrine <http://www.phpdoctrine.org>
PHP Doctrine Object Relational Mapper
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"doctrine-svn" 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.co.uk/group/doctrine-svn?hl=en-GB
-~----------~----~----~----~------~----~------~--~---