Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Rozne Kategorie - Różne modele danych
Forum PHP.pl > Forum > PHP > Frameworki
Ormin
Witajcie =)

Tworzę system ogłoszeniowy i stanąłem przed następującym problemem. Otóż, mamy różne kategorie ( Domy, samochody, gry itd. itd. ) i do każdej z nich chciałbym przydzielić inny model danych. Każdy z nich ma nieco inne pola ( Dom - ma metraż, liczbę pięter i takie tam rzeczy, samochód ma markę , model itp. - słowem, konkretne dla danej branży atrybuty ). No i teraz pytanie..

Jak to składować?
Wymyśliłem dwa rozwiązania:
- Osobne modele ( Car_Model, House_Model etc. etc. ) dla każdego. Do tego każda tabela ma swoje. Ma to swoje zalety - można łatwo przeszukiwać taką tabele, np. . Z drugiej strony - Masz, przelicz liczbę wszystkich ogłoszeń , albo wyciągnij 10 najnowszych. Mam szperać po każdej tabeli?...
- Jeden model i jedna tabela ( Product_Model ). Zasadniczy problem w tym, że nie wiem jak logicznie złożyć tu dane. Można teoretycznie serializować dane, ale jak to potem przeszukiwać?

Jak widać jednak, oba są dalekie od ideału. A co Wy proponujecie? Discuss . winksmiley.jpg

destroyerr
Pytanie jaki to ma związek z frameworkiem?

Możesz to zrobić poprzez dziedziczenie (np. concrete inheritance). Możesz to zrobić też przez dodatkową tabelę, co w gruncie rzeczy będzie bardzo podobne do concrete inheritance.
Oczywiście takie rozwiązanie jest raczej statyczne, czyli dodanie atrybutu lub branży wymaga dodania modelu i całego cyrku z tym związanego. Możesz to zrobić dynamicznie, czyli modele takie jak branża, atrybut, ogłoszenie + odpowiednie relacje i powinno być miło choć jest więcej roboty przy programowaniu.

Rysuj, rysuj, rysuj...
Wave
Rozwiązałem w tej chwili problem metodą dynamiczną w stylu:
kategorie, pola formularza, ogłoszenia, szczegóły ogłoszenia

1. do kategorii przypisuje odpowiednie pola formularza (nazwa,max.dlugosc,min.dlugosc,wymagane,rodzaj,ukryte,wlasciwosci)
2. w ogloszeniach tylko pola stałe dla każdej kategorii
3. formularz generuje pola formularza kategorii i zapisuje każde pole jako rekord w szczegółach ogłoszenia

niestety to jest masakra z kodowaniem, tym bardziej, że wszystko musi być wielojęzykowe ale to jedyne rozwiązanie sad.gif
boje się też jak będzie wyglądać baza później.

co do jednego modelu, problem z wieloma polami lub serializacją, wyszukiwaniem i ustalaniem relacji pole-kategoria no i tak jak wspomniano - rozwiązanie statyczne...


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.