• 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
63 wizyt
pytanie zadane 27 listopada 2017 w PHP, Symfony, Zend przez Ehlert Mędrzec (159,030 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ź 45 wizyt
0 głosów
1 odpowiedź 42 wizyt
0 głosów
1 odpowiedź 90 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

62,401 zapytań

108,542 odpowiedzi

226,583 komentarzy

35,747 pasjonatów

Przeglądających: 196
Pasjonatów: 20 Gości: 176

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.

...