Extendowalne filtry do produktów

0

Piszę z pytaniem, rozważam dwa podejścia, i nie wiem które wybrać. Chcę mieć model employee. Pracownicy (employee) będą należeć do jednej z kilku kategorii. Zależnie od kategorii, każdy z pracowników może mieć bardzo dużo atrybutów (200-1000). Pracownicy w tej samej kategorii będą mieli na pewno takie same atrybuty (z różnymi wartościami of course). Prawdopodobnie będzie dodawanych więcej atrybutów.

Wymyśliłem sobie to tak że mogę mieć tabele:

  • employees ( id, name, category_id)
  • categories (id, name)
  • attribute (id, name, type) - przykładowe recordy ('Age', 'int'), ('City', 'string'), ('Sex', 'string')
  • category_attribute (category_id, attribute_id, attribute_value)

Ma to swoje wady bo attribute_value będzie typem w którym może być wszystko.

Czy ma to jakiś sens takie podejście?

0

Zerknij na EAV, może odnajdziesz podobieństwa

https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model

Wzorzec (jak każdy) czasem uznawany za antywzorzec, jest pewna ilość biznesowych apliakcji, które takie coś mają.

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