![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem, którego nie mogę rozgryźć. Mam 4 table: users, trainings, training_instance oraz training_instance_user. Table są powiązane tak:
Do każdego jednego treningu może należeć wiele jego instancji - Tabela trainings powiązana relacją 1:n z tabelą training_instance Każdy użytkownik może brać udział w dowolnej ilości treningów i do każdego treningu może należeć wielu użytkowników - Tabela trainings powiązana relacją n:m (wiele do wielu) z tabelą users za pomocą tabeli haszującej training_instance_user - Tabela users powiązana relacją n:m z tabelą trainings za pomocą tabeli haszującej training_instance_user Potrzebuję wypisać dane z tabel trainings oraz trainings_instance danego użytkownika kiedy jednocześnie spełnione są warunki: training_instance_user->status =1 training_instance_user->canceled = 0 training_instance->date_start <= NOW() Na razie robię to tak w kontrolerze przekazuję do widoku rekord z id użytkownika. W widoku z kolei pobieram trainings skojarzone z użytkownikiem, dzięki metodzie getInstance pobieram również skojarzoną training_instance i wyświetlam datę. Pytanie jak i gdzie dorzucić te dodatkowe warunki do zapytania ?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
W takiej formie, zwraca mi zero rekordów. Robiłem rzutowanie obiektu $this-user jak i $this-user-getCourses().
W wersji z dwoma joinami obiekt:$this-user zwraca tablicę z 55 rekordami czyli ok bo pobieramy jednego usera. Natomiast obiekt $this-user->getCourses() zwraca pustą tablicę i to jest problem. W wersji z jednym join obiekt $this-user->getCourses() zwraca tablicę z dwoma danymi i to jest ok. Natomiast obiekt $this-user zwraca tablicę z 36 danymi i to też jest ok.
W phpmyadmin jeśli wykonam takie zapytanie dostaje 44 rekordy
Ten post edytował amii 21.08.2012, 10:05:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 22:19 |