Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][SF][Symfony2] Repository class
Forum PHP.pl > Forum > PHP > Frameworki
damianooo
Witam,

w klasie Repository zrobiłem sobie natywne zapytanie sql wykorzystujące podzapytania w klauzuli FROM :

  1. namespace My\TyperkaBundle\Repository;
  2.  
  3. use Doctrine\ORM\EntityRepository;
  4.  
  5. class TypeRepository extends EntityRepository {
  6.  
  7. public function getSumPointsOnMatchday(){
  8.  
  9. $qb = $this->getEntityManager()->createQuery(
  10. 'SELECT a.suma, a.user_id, a.matchday_id, b.suma_pkt, a.priority
  11. FROM
  12. (
  13. SELECT SUM(t.numberOfPoints) AS suma, u.id AS user_id, u.priority, md.id as matchday_id
  14. FROM MyTyperkaBundle:Type t
  15. JOIN CommonUserBundle:User u
  16. JOIN MyTyperkaBundle:Match m
  17. JOIN MyTyperkaBundle:Matchday md
  18. WHERE md.id BETWEEN 1 AND 15
  19. GROUP BY u.username, md.id
  20. ) a
  21. ,
  22. (
  23. SELECT SUM(t.numberOfPoints) AS suma_pkt, u.id AS user_id, u.priority
  24. FROM MyTyperkaBundle:Type t
  25. JOIN CommonUserBundle:User u
  26. JOIN MyTyperkaBundle:Match m
  27. JOIN MyTyperkaBundle:Matchday md
  28. WHERE md.id BETWEEN 1 AND 15
  29. GROUP BY u.username
  30. ) b
  31. WHERE a.user_id = b.user_id
  32. ORDER BY 4 desc,5,3'
  33. );
  34.  
  35. $result = $qb->getResult();
  36.  
  37. return $result;
  38.  
  39. }



Niestety otrzymuję następujący błąd:

  1. [Semantical Error] line 0, col 99 near '(
  2. ': Error: Class '(' is not defined.



Czy to wynika z tego, że w Doctrine jest jakiś problem z tego typu zapytaniami ?
W ogóle o co chodzi w tym błędzie ?
Damonsson
DQL nie pozwala na tworzenie subselectów dla FROM, użyj zwykłego SQL po prostu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.