Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][Symfony]Join bez użycia Relacji na Encjach, Przykład zapytania SQL, które chciałbym wykonać na Doctrine
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Mam dwie tabele: crew oraz crew_player. Player jest przypisany do Crew poprzez ID, a Crew należy do jakiegoś użytkownika. Potrzebuję wykonać poniższe zapytanie SQL za pomocą Doctrine, jednak nie zadziała to bez zrobienia relacji w encjach. A jeśli zrobię relacje, to Doctrine pobierze mi niepotrzebnie rekord z tabeli crew, który jest mi niepotrzebny. Jak w takim razie można to obejść, bym mógł pobrać tylko rekord z tabeli crew_player?

  1. SELECT p.*
  2. FROM player p
  3. INNER JOIN player_crew c
  4. ON ( p.crew_id = c.id )
  5. WHERE ( c.owner = "$userId" )
  6. LIMIT 1

(zapytanie podglądowe, nie sprawdzałem jego działania)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Forti
post
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


jakoś tak:

  1. $queryBuilder = $this->getEntityManager()
  2. ->createQueryBuilder()
  3. ->select('c')
  4. ->from('AcmeVideoBundle:Video', 'v')
  5. ->join('AcmeCategoryBundle:Category', 'c', Expr\Join::WITH, 'v.id = c.id')
  6. ->groupBy('c.id')


zamiast Expr\Join::WITH string 'WITH' również działa. Jak ustawisz 'ON' dostaniesz błąd. Gwarantuje.

edit:
nie pamiętam dokładniej treści błędu. Być może coś mieszam i jakoś to się da - z tym że na stackach wszędzie przykłady są z WITH. Błąd brzmiał mniej więcej: "unexpected ON, expected WITH"

Ten post edytował Forti 23.07.2015, 16:35:21
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 11:45