Zapis danych z formularzy różnego typu w jednej bazie.

0

Witajcie czytelnicy forum 4programmers,

Mam następujące pytanie (a tak naprawdę prośbę o zasugerowanie odpowiedniej koncepcji projektowej). Próbuję zaimplementować mechanizm zapisu do bazy danych przesyłanych z formularza/-y. Dane - różne typy produktów, mające różne typy zmiennych. W zależności od wyboru kategorii, do jakiej chcemy dane zapisać, inne będą pola formularza do wpisania. I teraz pytanie: w jaki sposób to rozwiązać?
Mam dwa pomysły jak to wykonać:

  1. żeby zrobić jedną z tabel w bazie, żeby służyła do zapisu produktów i zawierała listę wszystkich możliwych własności produktu - te, które nie byłyby dla danej kategorii wymagane, z poziomu CSS byłyby w formularzu blokowane przed edycją. I przesył do bazy do odpowiednich pól tabeli.
  2. Żeby zrobić w tabeli pola na zasadzie "własność1", "własność2" itd na wzór tabeli asocjacyjnej (zapis pary typwłasności => wartość) ale wtedy nie wiadomo ile dla danej kategorii będzie potrzebnych pól i ile kolumn maksymalnie będzie potrzebnych.

Wg mnie obu pomysłom czegoś brakuje, nie są wystarczająco elastyczne... I może ktoś już kiedyś coś takiego robił i ma sugestię w jaki sposób najbardziej optymalnie do tego podejść.
Ważne -> lista pól wymaganych w danej kategorii jest w postaci tablicy asocjacyjnej.

1

Poczytaj o modelu bazy EAV (np. Magento taką implementuje).

1 użytkowników online, w tym zalogowanych: 0, gości: 1