Запросы на обновление Доктрины Symfony 4 работают как Вставка - PullRequest
0 голосов
/ 24 апреля 2018

Последние 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?Я что-то упустил?

1 Ответ

0 голосов
/ 27 апреля 2018

Я удалил все под вендором и переустановил композитор. Теперь все хорошо

...