![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
Moich problemów ze złączeniami w Symfony ciąg dalszy (IMG:style_emoticons/default/smile.gif)
Mam takie tabele: rider: id name success: id rider_id event_id position event: id compet_id compet: id name Tablea `rider` przechowuje dane o zawodnikach, `success` przechowuje dane o osiągnięciach poszczególnych zawodników, czyli jeden zawodnik może mieć kilka sukcesów, ale jeden sukces może być przypisany tylko do jednego zawodnika. Dalej - w `success` mamy jeszcze `event_id` - odwołuje się do pola `id` tabeli `event` - jest to tabela przechowująca dane poszczególnej imprezy sportowej. Na koniec mamy jeszcze `compet`, czyli tabelę przechowującą tak jakby kategorie rozgrywek (grand prix, mistrzostwa polski, europy itp.). I teraz... chciałem zrobić takie złączenie żeby na podstawie `id` zawodnika zwracane były jego sukcesy, wraz z opisami imprez do których te sukcesy się odnoszą oraz z nazwami kategorii do których te imprezy przynależą. Zapytanie SQL wyglądało by chyba mniej więcej tak:
Czy może mnie ktoś naprowadzić mniej więcej jak się do tego zabrać? (IMG:style_emoticons/default/smile.gif) Dodam, że chcę, aby te informacje pokazywały się w widoku 'rider'. I generalnie problem jest taki, że w klasie 'RiderPeer' nie mogę się odwołać (chyba?) do klasy np. 'SuccessPeer'. Ten post edytował vonski 5.09.2009, 11:12:20 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%)
|
musisz napisać metodę doSelectXxx, która złoży z wyniku zapytania odpowiednią hierarchię klas, zobacz jak wygląda metoda doSelectJoinAll i zrób coś na ten wzór. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
Działa, dzięki (IMG:style_emoticons/default/smile.gif) tak to napisałem:
A najlepsze, że kilkadziesiąt minut mi to nie chciało działać - cały czas wyskakiwał mi błąd, że nie rozpoznaje w ogóle tych klas - SuccessPeer, EventPeer itd. A się okazało, że wystarczyło w linii poleceń napisać 'symfony cc' i dopiero później stworzyć model (IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 08:03 |