![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 9 Dołączył: 20.09.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ostatnio napotkałem się na mały problem odnośnie dziedziczenia w Doctrine 2(SINGLE_TABLE). Mam tabelę `product` a w niej typ produktu `sell`, 'buy', 'sell-buy'. Chciałem sobie zrobić dziedziczenie na podstawie tych typów. Wszystko śmiga. Problem pojawia się w tedy gdy edytuję np Product\Sell i chciałbym go zmienić na Product\Buy, a disciminator column nie może się pojawić w klasie Product, chyba sam doctrine zmienia to pole na podstawie nazwy klasy. Kombinowałem na taki sposób, że kopiowałem dane z obiektu Sell do obiektu Buy(wraz z id) ale doctrine tworzy mi nowy rekord. Zastanawia mnie jak to dziedziczenie ma się do modyfikacji danych. Pozdrawiam (IMG:style_emoticons/default/smile.gif) Ten post edytował Fluke 3.09.2013, 20:10:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Takie coś nie ma najmniejszego sensu (czy to w kontekście ORM-a czy ogólnie OOP), więc Doctrine nie wspiera czegoś takiego.
2. Jeżeli dany produkt może mieć stan "na sprzedaż", "kupię" bądź oba na raz, czy nie powinna to być zwykła właściwość obiektu, a nie typ? 3. Opisz dokładniej swój model danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 11:21 |