【发布时间】:2019-04-09 17:26:21
【问题描述】:
我正在尝试坚持使用 onFlush 事件侦听器,但出现此错误:
执行“INSERT INTO 日志(dateSauvegarde、montantProvision、montantPrecedant、commentaire、dateCreation、dateModification、idProfil、idSinistre)VALUES (?, ?, ?, ?, ?, ?, ?, ?) 时发生异常:
SQLSTATE[HY093]: 参数号无效:没有绑定参数
但是..这些字段填充得很好......
public function onFlush(OnFlushEventArgs $args){
$em = $args->getEntityManager();
$uow = $em->getUnitOfWork();
$session = new Session();
$loggedContact = $session->get('loggedContact');
foreach ($uow->getScheduledEntityUpdates() as $entity) {
if ($entity instanceof ApcSinistres) {
$changements = $uow->getEntityChangeSet($entity);
foreach($changements as $colonne => $changement){
if($colonne == "provisions"){
$logs = new ApcSauvegardeProvisionsHistorisation();
$logs->setDatesauvegarde(new DateTime());
$logs->setIdprofil($loggedContact);
$logs->setIdsinistre($entity);
$logs->setCommentaire("Recalcul des provisions suite au changement du statut du sinistre");
$logs->setMontantprovision($changement[1]);
$logs->setMontantprecedent($changement[0]);
$uow->persist($logs );
}
}
return;
}
}
}
我不知道为什么会出现这个错误,有人有解决办法吗?
问候
【问题讨论】:
-
在persist之前
var_dump($logs);的结果是什么?