![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mój problem wygląda następująco: Mam w bazie danych tabele: zawodnicy, mecze, druzyny, strzelcy(id,zawodnikId,meczId,liczbaGoli) Obiekty meczu i strzelca wygladaja tak:
Jak widać obiekt shooter zawiera w sobie obiekt game. Teraz gdy chcę pobrać mecze przykladowo całej ligi, wywoluje funkcje gameDAO::get():
funkcja gameDAO::fetch($row) wrzuca wszystkie dane z bazy danych do obiektu game:
Teraz gdy chciałbym pobrać np. gole pilkarza w poszczegolnych meczach i wyswietlic wszystkie mecze w ktorych strzelil i ile, to zapytanie sql w funkcji shooterDAO::get() musialo by pobierac wszystkie te dane ktore pobiera gameDAO::get i jeszcze do tego dodatkowe, bo shooter zawiera w sobie obiekt game. Tak samo z funkcją shooterDAO::fetch ktora musialaby niedosc ze wrzucac wszystko do obiektu game, to jeszcze do pozostalych wlasciwosci. I właśnie czy nie lepiej w funkcji shooterDAO::get() pobierać tylko "goły" rekord z tabeli shooters i wkleic dane do obiektu, a pozniej funkcją gameDAO::getByID($id) pobrać mecz i wkleic go do shooter->game? np.:
Wtedy wychodzi dużo więcej zapytań do bazy danych, ale nie trzeba wielokrotnie powtarzać kodu zapytań i funkcji. Chyba pokręciłem ale mam nadzieję, że nie za bardzo. Z góry dzięki, Pozdrawiam ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:08 |