@galliard

Как в doctrine одноразово отменить автогенерацию id сущности?

Есть сущность с такими аннотациями
/**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     *
     * @var int
     */
    private $id;

Что в принципе хорошо и правильно, но вот в одном конкретном случае мне нужно засетить туда id самостоятельно. Проблема в том, что штука сея игнорирует мой id и все равно генерирует свой. Можно как-то отменить это поведение, но не глобально, а в одном конкретном месте в коде?
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
AlekseyArh
@AlekseyArh
Кибер существо
"GENERATOR_TYPE_NONE"

$metadata = $this->entityManager->getClassMetaData(get_class($entity));
$metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
$metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator());

$this->entityManager->persist($entity);
$this->entityManager->flush();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
BuildSafe Tech Санкт-Петербург
от 120 000 руб.
Риверстарт Нижний Новгород
от 60 000 до 120 000 руб.
23 марта 2019, в 23:45
5000 руб./за проект
23 марта 2019, в 23:33
800 руб./за проект
23 марта 2019, в 21:08
1500 руб./за проект