Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]problem z zapytaniem
Forum PHP.pl > Forum > PHP > Frameworki
harvesterix
Zacząłem zabawę z Doctrine (wcześniej używałem propela) i mam problem z takim zapytaniem:

  1. $q = $this->createQuery()
  2. ->from('Strona s, Strona s1')
  3. ->where('s.id_rodzica = s1.id')
  4. ->andWhere('s.tytul_slug = ?', $adres[1])
  5. ->andWhere('s1.tytul_slug = ?', $adres[0]);


Dostaję error o następującej treści:
"Strona" with an alias of "s1" in your query does not reference the parent component it is related to.

Szukam w googlu rozwiązania i nic nie mogę znaleźć, to znaczy jest trochę wątków na ten temat ale wszędzie jest mowa o złej relacji między tabelami a ja mam samozłączenie.
puc
jeżeli używasz $this->createQuery to rozumiem że wywołujesz to w klasie StronaTable.class.php, wiec metoda 'from' jest zbędna. Spróbuj czegoś takiego:

  1. $q = $this->createQuery('s')
  2. ->innerJoin('s.Strona s1 ON s.id_rodzica=s1.id')
  3. ->where('s.tytul_slug = ?', $adres[1])
  4. ->andWhere('s1.tytul_slug = ?', $adres[0]);


Nie testowałem tego, nie wiem jak się zachowa doctrine przy złączeniu dwóch tych samych tabel, ale nie sądzę aby to był problem.
harvesterix
próbowałem już z joinem co prawda trochę inaczej ale próbowałem w każdym razie z twoim zapytaniem wypluwa:
"Unknown relation alias Strona"
puc
rozumiem że masz zrobioną relację Strona->Strona (foreign key po id_dodzica->id)?
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.