• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Mapowanie do wielu typów

0 głosów
64 wizyt
pytanie zadane 27 listopada 2017 w PHP, Symfony, Zend przez Ehlert Mędrzec (165,080 p.)

Cześć, 

obecnie piszę w Symfony(3.3) (+ Doctrine2). Czy możliwe jest aby mapować rekordy z jednej tabeli do wielu typów dziedziczących po jednej, nieabstrakcyjnej klasie?

Owa sytuacja wynika z tego, że wszystkie typy rzeczywiście mają wspólną klasę rodzica, z której repozytorium muszę korzystać. Rozwiązań jest kilka.

  1. @MappedSuperclass - problem polega na tym, że klasa bazowa nie jest queryable. ​​​​​​
  2. Zawarcie w tej jednej tabeli enuma, do jakiego typu mam castowawać. W tym przypadku wali się SOLID, bo na niższym poziomie dziedziczenia zawieram informacje o wyższym poziomie.
  3. Podział na wiele tabel, w głównej zawarcie tylko pól z klasy bazowej. Resztę uzyskać relacją 1:1 do innych tabel reprezentujących inne klasy.
  4. A może jedno wspólne repozytorium? 

 Po co takie rozwiązania. Otóż chcę po stronie aplikacji wymusić na bazie danych polimorfizm. Wynika to z tego, żepwystąpienia encji z głównej tabeli chcę na niższym poziomie traktować jednakowo. Na wyższym poziomie chcę zamykać logikę biznesową do modeli. Dla każdej klasy inna logika.

1 odpowiedź

0 głosów
odpowiedź 27 listopada 2017 przez CzikaCarry Szeryf (75,440 p.)

Nie do końca rozumiem co chcesz osiągnąć. Jeśli chcesz po prostu zrobić wiele modeli dla jednej tabeli (nawet się zrymowało) to dziedziczysz po klasie z Entity reprezentującym tabelę w bazie. Wtedy będziesz mógł stworzyć wiele typów dla jednej tabeli etc.

Otóż chcę po stronie aplikacji wymusić na bazie danych polimorfizm. Wynika to z tego, żepwystąpienia encji z głównej tabeli chcę na niższym poziomie traktować jednakowo.

Oczywiście nie wiem, czy dobrze zrozumiałem, jeśli źle (a zapewne zupełnie w inną stronę) to popraw. Rozjaśnij troszeczkę te dwa zdania, bo nie do końca rozumiem co chcesz osiągnąć :)

Podobne pytania

0 głosów
1 odpowiedź 52 wizyt
0 głosów
1 odpowiedź 49 wizyt
0 głosów
1 odpowiedź 102 wizyt
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

64,898 zapytań

111,368 odpowiedzi

234,330 komentarzy

46,744 pasjonatów

Przeglądających: 211
Pasjonatów: 12 Gości: 199

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...