![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 280 Pomógł: 46 Dołączył: 23.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o model, który pobiera newsy.
Mam na przykład takie coś:
Muszę również pobierać newsy: a) tylko 5 najnowszych b) tylko usunięte (delete = 1) c) tylko te, które mają datę publikacji mniejszą niż aktualna (publish < time()) d) tylko widoczne (visible = 1) e) połączenie a + b, a + c, b + c, a + b + c + d i tak dalej, i tak dalej. I pytanie, jak rozwiązać to aby nie tworzyć wielu metod, a najlepiej żeby była jedna czy dwie? Klasa bazy danych
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To może napisz chociaż jak byś chciał żeby to wyglądało. Bo "innych sposobów na to" istnieje mnóstwo, tylko ciężko wyczuć jaki Tobie się będzie podobał. Możesz np. napisać klasę, powiedzmy Query i użyć jej mniej więcej w ten sposób:
I powiedzmy, że build() zbuduje takie zapytanie: "SELECT title, created_at FROM news WHERE delete = :delete AND visible = :visible AND publish > :publish ORDER BY title ASC LIMIT 10". Możesz potem ten obiekt $query przekazać do metody query() z Twojej klasy Database i niech już ona sobie z nim radzi - wszystkie informacje - czyli samo zapytanie jak i parametry do zbindowania - tam siedzą. To jest jeden z wielu sposobów.. ale też może Ci się wydać mocno przesadzony... Możesz też użyć już wspomnianego Doctrine - integruje się szalenie łatwo, za pomocą composera (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:27 |