Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP i SQL] wiele obiektów i ilośc zapytań do mysql
hub
post 22.03.2019, 14:04:10
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 2
Dołączył: 21.02.2012

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


hej,
mam następujące klasy:
-klient (może zawierać wiele obiektów - projektów)
-projekt

Nie mogę sobie wyobrazić, jak skonstrukować relację między nimi, żeby robiąc np. podsumowanie wyników wszystkich projektów jednego klienta wykonać jak najmniej zapytań do bazy.
Jeżeli w obiekcie klienta będę przechowywał obiekty projektów - to pobranie danych z bazy, dla każdego z nich będzie wymagało takiej liczby zapytań ile jest projektów. Brzmi to mega nieoptymalnie, jeżeli mógłbym zrobić jedno zapytanie wyciągające z bazy dane dot. wszystkich projektów danego klienta.
Czy normalną praktyką jest operowanie na jednej tabeli bazy danych w dwóch różnych klasach? Jeżeli później będę chciał wprowadzić zmianę w tej tabeli to będę musiał wprowadzać zmiany we wszystkich klasach, w których ta tabela jest wykorzystywana - nie brzmi to jak prawidłowe z punktu widzenia OOP rozwiązanie. Co w takiej sytuacji? Dla każdej tabeli indywidualna klasa-model?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hub
post 22.03.2019, 14:19:46
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 2
Dołączył: 21.02.2012

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


tak, to rozumiem i nie chodzi mi o format zapytania do bazy
jak to ugryźć z uwzględnieniem wzorców projektowych (ciężko nazwać mi fachowo problem i nie mogę wygooglać rozwiązania, które odpowiadałoby na moje pytanie)

W klasie projektu tworzę metodę do wyciągania danych np. results(), która zawiera zapytanie do bazy po id projektu.

Jak powinno się rozwiązać results() dla klienta, jeżeli to suma wszystkich projektów?
1. do obiektu klienta wrzucić obiekty projektów i pętlą wywoływać Project->results() ?
2. czy zdefiniować zapytanie do bazy w Client->results() po id klienta?
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 Wersja Lo-Fi Aktualny czas: 23.04.2024 - 22:44