Rumah > Soal Jawab > teks badan
P粉1436404962023-08-30 13:15:44
Masalahnya ialahresetManager()
bahawa tidak semua perkhidmatan yang merujuk terus kepada pengurus entiti dikemas kini secara automatik kepada kejadian baharu.
Dalam kaedah updateStatus()
anda boleh menyemak dengan mudah sama ada entiti diuruskan oleh pengurus entiti.
$uow = $this->getEntityManager()->getUnitOfWork(); if($uow->getEntityState($delayReport) !== UnitOfWork::STATE_MANAGED) { // not managed }
Tidak pasti sama ada penugasan semula akan membantu di sini, seperti $this->getEntityManager()->merge($delayReport)
.
Tetapi adalah lebih baik untuk mengelak daripada menutup pengurus dan mengesahkan data sebelum mengesahkannya.
Editor:
Belum diuji, jika anda akan mendapat penetapan semula EntityManager melalui Pendaftaran. Tetapi ia berbaloi untuk dicuba.
$entityManager = $managerRegistry->getManagerForClass(get_class($delayReport));