Aktualisierung funktioniert nicht: Problem nach dem Zurücksetzen des Doctrine Managers
<p>Mit meinen Daten stimmt etwas nicht. Ich erhalte die Fehlermeldung <code>außerhalb des gültigen Bereichs</code> und versuche zu verhindern, dass <code>Close Entity Manager</code> funktionieren, da ich<code>reset manager</code> in Ausnahmefällen</p >
<pre class="brush:php;toolbar:false;">public function renewDeliveryTime($delayReport) : void
{
versuchen {
$this->delayReportRepository->updateRenewedDeliveryTimeAt($delayReport, 50000000);
}catch (Ausnahme $Exception){
//Fehler außerhalb des Bereichs
$this->managerRegistry->resetManager();
}
}
öffentliche Funktion updateRenewedDeliveryTimeAt($delayReport,$delayDuration)
{
/*** @var DelayReport $delayReport*/
$delayReport->setDelayDuration($delayDuration);
$delayReport->setStatus(DelayReport::STATUS['DONE']);
$this->getEntityManager()->flush();
}</pre>
<p>Das Problem besteht darin, dass ich einen Fehler in meinen Daten erhalte, die Fehlermeldung <code>außerhalb des gültigen Bereichs für eine Ganzzahlspalte</code> erhalte und ich versuche zu verhindern, dass <p> code>Entitätsmanager geschlossen< /code>Weiterarbeiten und zu diesem Zweck in Ausnahmefällen <code>Manager zurücksetzen</code></p>
<pre class="brush:php;toolbar:false;">public function enqueue($delayReport) : void
{
$this->pushInQueueReport($delayReport);
$this->delayReportRepository->updateStatus($delayReport, DelayReport::STATUS['IN_QUEUE']);
}
öffentliche Funktion updateStatus($delayReport, $status)
{
/*** @var DelayReport $delayReport*/
$delayReport->setStatus($status);
$this->getEntityManager()->flush();
}</pre>
<p>Das Problem ist, dass, nachdem ich ein anderes Objekt und fast denselben Datenbankvorgang habe, es so aussieht, als ob <code>$this->getEntityManager()->flush()</code> Datenbank Es passiert nichts. Dies hat mit <code>$this->managerRegistry->resetManager()</code></p> zu tun.
<p>Was ist die Lösung für dieses Problem? </p>