在过去的两天里,我一直在努力应对最简单的更新,但还没有运气。更新到Symfony 4后,更新查询将作为插入工作。它总是在数据库中创建一个新的实体。
甚至
$this->entityManager->flush()
插入新行
使用DQL
public function updateObject(CategoryGroup $categoryGroup){
return $this->getEntityManager()->createQuery(
" update App\Entity\CategoryGroup cg set cg.name = '".$categoryGroup->getName() ."' where cg.id=".$categoryGroup->getId()
)
->getResult();
}
或实体本身
/**
* @param $entity
* @return null
*/
public function saveEntity($entity){
try{
$this->entityManager->persist($entity);
$this->entityManager->flush($entity);
}catch (Exception $e){
echo $e->getMessage(), EOL;
return null;
} catch (OptimisticLockException $e) {
echo $e->getMessage(), EOL;
return null;
} catch (ORMException $e) {
echo $e->getMessage(), EOL;
return null;
}
return $entity;
}
无论我做什么,它总是接受更新查询作为新记录。这是以前工作但不再是。
是否与Symfony 4中的设置有关?我错过了什么吗?
答案 0 :(得分:0)
我删除了供应商下的所有内容并重新安装了作曲家。一切都很好