@tukreb

Как задать порядок обновления записей в единой транзакции?

Как можно в doctrine/Symfony указать порядок обновления данных в БД при единой транзакции?
В таблице стоит проверка уникальности, при которой состояние объекта можно быть только одним. Чтобы поменять состояние, нужно сначала его убрать со старой записи, а потом присвоить другой. Но при одной транзакции, doctrine пытается сначала присвоить состояние...

/** @var IpAddressAssigned $oldPrimaryIp */
        $oldPrimaryIp = $port->getIpAddressesAssignedCollection()->filter(
            function ($value, $key){
                /** @var IpAddressAssigned $value */
                return $value->isPrimary();})->first();

        $oldPrimaryIp->setSecondary();

        $newipAddressPrimary->getIpAddressAssigned()->setPrimary();

        $this->em->flush();


При таком коде, доктрина сначала пытается выполнить:
$newipAddressPrimary->getIpAddressAssigned()->setPrimary();


Спасибо.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы