Adresse-Freitextfeld wird erst beim 2. Mal Speichern korrekt gespeichert

Hallo,

ich habe in den Adressen ein Freitextfeld “type” angelegt. Im Formular wird das logischerweise über den Feldname “address[attribute][type]” angegeben und beim Speichern auch ausgelesen. Das Feld kann die Werte 1-3 annehmen oder NULL (falls noch nie gespeichert)

Problem: Erst wenn man die Adresse 2x speichert, wird auch das Feld korrekt in der DB gespeichert.

Szenario: Ich setze als Wert “1” und speichere. In der DB steht dann NULL. Ich speichere nochmal den Wert 1. Jetzt steht 1 in der DB. Dann speichere ich die Adresse nochmals mit Wert 2. Es steht trotzdem 1 in der DB. Erst beim nochmaligen Speichern mit 2 steht dann auch die 2 in der DB.

hab das ganze schon mal gedebuggt: Das Feld wird korrekt übergeben und landet im Controller.

Ich lande irgendwann im AddressService:

/**
 * {@inheritdoc}
 */
public function update(Address $address)
{
    $this->validator->validate($address);
    $this->modelManager->flush();
    
    Shopware()->Container()->get('corelogger')->error($address->getAttribute()->getType());

    $this->modelManager->refresh($address);

    Shopware()->Container()->get('corelogger')->error($address->getAttribute()->getType());
}

ich habe dort 2 loggings eingebaut. Bei dem ersten nach flush() ist der Wert noch korrekt, also der den ich im Formular angegeben hab. Nach refresh() steht dann wieder der vorherige Wert drin…

was mache ich denn falsch?

hat denn niemand eine Idee?