새로 고침이 작동하지 않음: Doctrine Manager 재설정 후 문제
<p>데이터에 오류가 있습니다. 정수 열</code>에서 <code>범위를 벗어났습니다. 오류가 발생하여 <code>엔터티 관리자 닫기</code> , 예외</p >에서 I<code>reset Manager</code>
<pre class="brush:php;toolbar:false;">공개 함수 renewDeliveryTime($delayReport) : void
{
노력하다 {
$this->delayReportRepository->updateRenewedDeliveryTimeAt($delayReport, 50000000);
}catch(예외 $예외){
// 범위를 벗어남 오류
$this->managerRegistry->resetManager();
}
}
공개 함수 updateRenewedDeliveryTimeAt($delayReport,$delayDuration)
{
/*** @var DelayReport $delayReport*/
$delayReport->setDelayDuration($delayDuration);
$delayReport->setStatus(DelayReport::STATUS['DONE']);
$this->getEntityManager()->flush();
}</pre>
<p>문제는 데이터에 오류가 발생하고 정수 열</code>에서 <code>범위를 벗어났다는 오류 메시지가 표시되며 < code>닫힌 엔터티 관리자< /code>계속 작업하고 이 목적을 위해 예외 <코드>재설정 관리자</code></p>
<pre class="brush:php;toolbar:false;">공개 함수 enqueue($delayReport) : 무효
{
$this->pushInQueueReport($delayReport);
$this->delayReportRepository->updateStatus($delayReport, DelayReport::STATUS['IN_QUEUE']);
}
공개 함수 updateStatus($delayReport, $status)
{
/*** @var DelayReport $delayReport*/
$delayReport->setStatus($status);
$this->getEntityManager()->flush();
}</pre>
<p>문제는 다른 개체와 거의 동일한 데이터베이스 작업을 수행한 후에 <code>$this->getEntityManager()->flush()</code> 데이터베이스 아무 일도 일어나지 않습니다. 이는 <code>$this->managerRegistry->resetManager()</code></p>와 관련이 있습니다.
<p>이 문제에 대한 해결책은 무엇입니까? </p>