Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Routing i schemat bazy
Forum PHP.pl > Forum > PHP > Frameworki
mrjozo
Witam,



Tworzę strone na której będą recenzje,zapowiedzi,opisy,trailery,kody.

Stiwierdziłem, że najlepiej będzie dla każdego zrobić osobną tabele z uwagi na różne dodatkowe pola dla różnych zawartości.



Mam więctabele:

  1. gry:
  2.  
  3. -id
  4.  
  5. -title
  6.  
  7. [dodatkowe_pola]
  8.  
  9. kody:
  10.  
  11. -id
  12.  
  13. -title
  14.  
  15. [dodatkowe_pola]
  16.  
  17. recenzje:
  18.  
  19. -id
  20.  
  21. -title
  22.  
  23. [dodatkowe_pola]




Jednak na stronie głównej chciałbym listować najnowsze recenzje,zapowiedzi,opisy,trailery,kody w postaci:

strona.pl/recenzje/title.html

strona.pl/opisy/title.html

strona.pl/recenzje/title.html



itd.



Jak teraz najepiej zrobić aby pobrać 10 najnowszych z tych kilku tabel (nie z kazdej osobno ale z wszytkich łącznie 10) i wyswietlac je z linkami jak wyzej? 
AxZx
wg mnie musisz w zapytaniu połączyć te zapytania do każdej tabeli w jedno zapytanie za pomocą UNION.
jeżeli chcesz mieć z tego zrobione obiekty to trochę może być ciężko:)
aczkolwiek możesz kombinować, pooglądaj metody hydrate wygenerowane przez Propel.
LBO
Rozwiązaniem jest CMSowy sposób perzystencji.
W tabeli np. articles trzymasz wspólne dane dla tych róznych "artykułów", ich typ i wirtualny klucz obcy zależny od tego typu prowadzący do tabel trzymajacych już unikalne dane dla typu.

Sposób o tyle fajny, że łatwo go rozwinąć. Propel chyba nawet posiada mechanizmy to ułatwiające - dziedziczenie tabel - ale głowy nie dam.

Jeżeli nie chcesz w ten spoób to pobierasz po 10 z kazdej tabeli, łączysz je w PHP, filttrujesz też w PHP i również w PHP bierzesz już wynikowe 10 artykułów smile.gif

Cytat
pobierasz po 10 z kazdej tabeli,


no, albo UNIONem snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.