L'actualisation ne fonctionne pas : problème après la réinitialisation de Doctrine Manager
<p>Il y a un problème avec mes données, j'obtiens l'erreur <code>hors plage sur une colonne entière</code> et j'essaie d'empêcher <code>Close Entity Manager</code> fonctionne, car je<code>réinitialiser le gestionnaire</code> dans l'exception</p >
<pre class="brush:php;toolbar:false;">fonction publique renouvelerDeliveryTime($delayReport) : void
{
essayer {
$this->delayReportRepository->updateRenewedDeliveryTimeAt($delayReport, 50000000);
}attraper (Exception $exception){
// erreur hors de portée
$this->managerRegistry->resetManager();
}
}
fonction publique updateRenewedDeliveryTimeAt($delayReport,$delayDuration)
{
/*** @var DelayReport $delayReport*/
$delayReport->setDelayDuration($delayDuration);
$delayReport->setStatus(DelayReport::STATUS['DONE']);
$this->getEntityManager()->flush();
}</pré>
<p>Le problème est que j'obtiens une erreur dans mes données, je reçois le message d'erreur <code>hors plage sur une colonne entière</code>, et j'essaie d'empêcher <p> code>gestionnaire d'entités fermées< /code>Continuer à travailler et à cet effet dans l'exception <code>reset manager</code></p>
<pre class="brush:php;toolbar:false;">public function enqueue($delayReport) : void
{
$this->pushInQueueReport($delayReport);
$this->delayReportRepository->updateStatus($delayReport, DelayReport::STATUS['IN_QUEUE']);
}
fonction publique updateStatus($delayReport, $status)
{
/*** @var DelayReport $delayReport*/
$delayReport->setStatus($status);
$this->getEntityManager()->flush();
}</pré>
<p>Le problème est qu'après avoir un autre objet et presque la même opération de base de données, il semble que <code>$this->getEntityManager()->flush()</code> base de données Rien ne se passe. Cela a à voir avec <code>$this->managerRegistry->resetManager()</code></p>
<p>Quelle est la solution à ce problème ? </p>