Ticket #1288 (closed defect: fixed)

Opened 11 months ago

Last modified 11 months ago

findXXX need component aliases otherwise it causes a crash in query hooks

Reported by: gnat Owned by: romanb
Priority: major Milestone: 1.0.0
Component: Query/Hydration Version: 1.0.0
Severity: Keywords:
Cc: Has Test: no
Status: Pending Core Response Has Patch: no

Description

findAll, or the Doctrine_Pager doesn't use aliases and so preQuery hooks can cause invalid DQL because of missing alias.

Change History

Changed 11 months ago by jwage

  • version changed from 0.11 to 1.0
  • milestone changed from Unknown to 1.0.0-RC1

Changed 11 months ago by guilhermeblanco

  • milestone changed from 1.0.0-RC1 to 1.0.0

Changed 11 months ago by gnat

FROM Province p WHERE p.id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%') FROM Province WHERE Province.id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%') FROM Province WHERE id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%')

Only the first query will succeed. so if you are in a query listener, adding a subquery, you can't do it for queries created by findXXX() functions as they don't alias the model.

Changed 11 months ago by gnat

FROM Province p WHERE p.id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%')
FROM Province WHERE Province.id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%')
FROM Province WHERE id IN (SELECT p2.id FROM Province p2 LEFT JOIN p2.Mappings b2 WHERE p2.name LIKE '%?%')

Easier to read...

Changed 11 months ago by guilhermeblanco

  • status changed from new to closed
  • resolution set to fixed

(In [4786]) fixes #1288. Added a fixed alias to findXXX methods. THe alias name is 'dctrn_find'.

Note: See TracTickets for help on using tickets.