Объект доктрины не обновляется при передаче в качестве аргумента ⇐ Php
-
Anonymous
Объект доктрины не обновляется при передаче в качестве аргумента
У меня есть экземпляр сущности Doctrine, который передается в качестве аргумента методу службы Symfony.
Я выполняю все манипуляции с данными вне метода, но по какой-то причине эти изменения не отражаются в методе.
Например:
// У меня есть платежная сущность, текущий статус «создан» // ...манипуляция данными... $pay->setStatus('завершено'); $this->em->flush($pay); ... $this->myService->doStuff($pay); // В методе doStuff... общественная функция doStuff(Оплата $оплата) { // Статус все еще "создан", а не "завершен"... // Я не делаю здесь никаких операций find/getRepository/refresh, поэтому объект не должен снова увлажняться $status = $pay->getStatus(); } Почему это происходит? Я делаю это в DataPersister платформы Symfony/API.
Это происходит только в производстве, я не могу воспроизвести это на своем компьютере.
Разница в том, что в рабочей среде я использую кластер k8s для приложения и кластер MySQL для базы данных.
Я думал о проблемах с репликами базы данных, но, поскольку я не делаю никаких запросов в этом методе, этого не может быть (это действительно простой метод, просто проверяет статус платежа).< /п>
У меня есть экземпляр сущности Doctrine, который передается в качестве аргумента методу службы Symfony.
Я выполняю все манипуляции с данными вне метода, но по какой-то причине эти изменения не отражаются в методе.
Например:
// У меня есть платежная сущность, текущий статус «создан» // ...манипуляция данными... $pay->setStatus('завершено'); $this->em->flush($pay); ... $this->myService->doStuff($pay); // В методе doStuff... общественная функция doStuff(Оплата $оплата) { // Статус все еще "создан", а не "завершен"... // Я не делаю здесь никаких операций find/getRepository/refresh, поэтому объект не должен снова увлажняться $status = $pay->getStatus(); } Почему это происходит? Я делаю это в DataPersister платформы Symfony/API.
Это происходит только в производстве, я не могу воспроизвести это на своем компьютере.
Разница в том, что в рабочей среде я использую кластер k8s для приложения и кластер MySQL для базы данных.
Я думал о проблемах с репликами базы данных, но, поскольку я не делаю никаких запросов в этом методе, этого не может быть (это действительно простой метод, просто проверяет статус платежа).< /п>
Мобильная версия