Doctrine: Aktualizuj dyskryminator dla SINGLE_TABLE Dziedziczenie

W przypadku tych klas, w jaki sposób zmieniłbyś rekord dla „osoby” na „pracownika”.

/**
 * @Entity
 * @InheritanceType("SINGLE_TABLE")
 * @DiscriminatorColumn(name="discr", type="string")
 * @DiscriminatorMap({"person" = "Person", "employee" = "Employee"})
 */
class Person
{
    // ...
}

/**
 * @Entity
 */
class Employee extends Person
{
    // ...
}

Próbowałem zmienić wartość kolumny dyskryminującej, ale nie mogę uzyskać do niej dostępu. Próbowałem również utworzyć instancję „Employee” i ręcznie skopiować dane, ale to nie działa z automatycznymi identyfikatorami. Zostaje dodany jako nowy rekord zamiast aktualizowania istniejącego.

Czy muszę napisać niestandardowe zapytanie sql lub czy robię coś innego, co jest zasadniczo błędne?

questionAnswers(1)

yourAnswerToTheQuestion