Doctrine: Diskriminator für SINGLE_TABLE-Vererbung aktualisieren

Wie würden Sie mit diesen Klassen einen Datensatz für eine "Person" in einen "Mitarbeiter" ändern?

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

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

Ich habe versucht, den Wert der Diskriminatorspalte zu ändern, kann aber nicht darauf zugreifen. Ich habe auch versucht, eine 'Employee'-Instanz zu erstellen und die Daten manuell zu kopieren, aber das funktioniert nicht mit automatisch inkrementierenden IDs. Es wird nur als neuer Datensatz hinzugefügt, anstatt den vorhandenen zu aktualisieren.

Muss ich eine benutzerdefinierte SQL-Abfrage schreiben oder tue ich etwas anderes, das grundlegend falsch ist?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage