Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Symfony2][Symfony] setParameter nie działa w SELECT RepositoryClass
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Mam taki SQL:

  1. SELECT
  2. count(u.id) AS seasons,
  3. u.username AS username,
  4. sum(s.position = 1) AS wins,
  5. sum(s.totalPoints) AS totalpoints,
  6. sum(s.numOfQue) AS numOfQue,
  7. (sum(s.totalPoints)/sum(s.numOfQue)) AS avgPtsForMatch
  8. FROM statistics s
  9. INNER JOIN users u ON s.user_id = u.id
  10. GROUP BY u.username
  11. ORDER BY avgPtsForMatch DESC


Który w klasie Repository zrobiłem tak:

  1. public function getRanking(){
  2. $qb = $this->createQueryBuilder('s');
  3. $qb->select(
  4. 'u.username AS username'
  5. ,'(sum(s.totalPoints)/sum(s.numOfQue)) AS avgPtsForMatch'
  6. ,'count(u.id) AS seasons'
  7. ,'sum(s.numOfQue) AS numOfQue'
  8. ,'sum(s.totalPoints) AS totalpoints'
  9. ,'sum(s.position = :win) AS wins'
  10. )
  11. ->innerJoin('s.user', 'u')
  12. ->groupBy('u.username')
  13. ->orderBy('avgPtsForMatch', 'DESC')
  14. ->setParameter('win', 1)
  15. ;


Niestety zapis : ,'sum(s.position = :win) AS wins' nie działa wywalając błąd:

[Syntax Error] line 0, col 240: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got '='

Jak to powinienem zrobić ?

Ten post edytował damianooo 7.09.2016, 12:14:56
Go to the top of the page
+Quote Post

Posty w temacie
- damianooo   [SF2][Symfony2][Symfony] setParameter nie działa w SELECT RepositoryClass   7.09.2016, 11:30:58
- - lukaskolista   Wywala błąd bo składnia funkcji agregującej SUM ni...   7.09.2016, 12:04:17
- - damianooo   ale zapytanie SQL jak wpiszę w phpmyadmina to dzia...   7.09.2016, 12:12:34
- - lukaskolista   Nie tyle składnia symfony, co DQL w Doctrine Szcze...   7.09.2016, 14:38:51
- - damianooo   przełączać się na inną bazę nie będę ... Poczeka...   8.09.2016, 08:30:31
- - Gothicbezimienny   skoro to liczba to może spróbuj : [PHP] pobierz, ...   8.09.2016, 09:13:40
- - damianooo   nie działa niestety ... to na pewno jest taki za...   8.09.2016, 09:22:44
- - Gothicbezimienny   Tu masz eleganco opisane jak powinno to wyglądać p...   8.09.2016, 09:35:00
- - damianooo   mam tak , używam Doctrine... cała metoda wygląda t...   8.09.2016, 09:38:28
- - Gothicbezimienny   nadal brakuje FROM $repository = $this-...   8.09.2016, 09:41:15
- - damianooo   FROMa tu nie trzeba ... wystarczy zrobić tak: [P...   8.09.2016, 09:48:42
- - Gothicbezimienny   Nie mogłem tego wiedzieć ze masz to gdzieś.   8.09.2016, 10:02:03
- - damianooo   Będę to musiał chyba w kodzie obrobić jakoś bo DQL...   8.09.2016, 10:08:16
- - Turson   Spróbuj zamiast 's.position = 1' wstawić t...   8.09.2016, 10:28:15
- - aras785   [SQL] pobierz, plaintext SUM(IF(s.position...   8.09.2016, 12:52:57
- - damianooo   zmieniłem na : [PHP] pobierz, plaintext $qb...   8.09.2016, 14:43:21
- - aras785   spórbuj: [SQL] pobierz, plaintext SUM(CASE s....   8.09.2016, 15:48:23
- - lukaskolista   Sugeruję zakończyć tę bezsensowną dyskusję bo: 1. ...   8.09.2016, 18:00:05
- - Pilsener   Uzupełnię wypowiedź poprzednika, polecam: https://...   9.09.2016, 07:37:34


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:32