更新が機能しない: Doctrine Manager をリセットした後の問題
<p>データに問題があります。<code>整数列の範囲外</code>というエラーが発生し、<code>Close Entity Manager</code>が続行できないようにしようとしました。 <code>例外</p>でマネージャ</code>をリセットするので、機能します。
<pre class="brush:php;toolbar:false;">パブリック関数 renewdeliveryTime($delayReport) : void
{
試す {
$this->layReportRepository->updateReneweddeliveryTimeAt($delayReport, 50000000);
}キャッチ(\例外 $例外){
// 範囲外エラー
$this->managerRegistry->resetManager();
}
}
パブリック関数 updateReneweddeliveryTimeAt($delayReport,$layDuration)
{
/*** @var DelayReport $delayReport*/
$delayReport->setDelayDuration($delayDuration);
$delayReport->setStatus(DelayReport::STATUS['DONE']);
$this->getEntityManager()->flush();
}</pre>
<p>問題は、データでエラーが発生し、整数列</code>で範囲外のエラー メッセージ<code>が表示され、<を防止しようとしているということです。 ;code>クローズドエンティティマネージャ< /code>作業を続行し、この目的のために例外<code>リセットマネージャ</code></p>
<pre class="brush:php;toolbar:false;">パブリック関数 enqueue($delayReport) : void
{
$this->pushInQueueReport($delayReport);
$this->layReportRepository->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>