Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2]Pobieranie wartości przez sql z relacji ManyToMany
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Mam taki problem chciałbym pobrać wartości z relacji A selekcjonując ją warunkiem z relacji B. Relacje są połączone relacją Wiele do Wiele. Niestety w symfony nie można tutaj użyć tabeli pośredniej, gdyż DQL korzysta tylko z plików klas. Generalnie zapytanie, gdy istnieje klasa pośrednia działa, ale po zmianie tego na relacje ManyToMany w klasie Entity nie są pobierane odpowiednie rekordy.

Otóż, jeśli któryś z obiektów z relacji B spełnia warunek, pobierane są wszystkie obiekty z relacji A, a nie tylko te, które spełniają warunek.
Zapytanie wygląda mniej więcej tak:

  1. SELECT a.id FROM Bundle:a a JOIN Bundle:b b WHERE b.column1 < :pam1 AND b.column2 > :pam2


Gdy istniała klasa tebeli pośredniej, wszystko działało. (W entity łączyłem się z relacją pośrednią przez ManyToOne) Teraz po zmianie na ManyToMany, gdzie tabela pośrednia istnieje tylko w bazie danych, występuje powyższy błąd. Proszę, żeby ktoś napisał jak to poprawnie rozwiązać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
prz3kus
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

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


jakiej ty wersji symfony uzywasz?

Przecież co z tego że masz 2 klasy, jak zrobisz dobrego joina powstana w bazie 3 tabelki i z pobieraniem danych nie ma najmniejszego problemu.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 09:07