Symfony 4 Doctrine 更新查询作为插入

Symfony 4 Doctrine Update Queries work as Insert

在过去的 2 天里,我一直在为最简单的更新而苦苦挣扎,但还没有成功。在我更新到 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 中的设置吗?我错过了什么吗?

我删除了供应商下的所有内容并重新安装了作曲家。现在一切都很好