Задать вопрос
@galliard

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

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

Что в принципе хорошо и правильно, но вот в одном конкретном случае мне нужно засетить туда id самостоятельно. Проблема в том, что штука сея игнорирует мой id и все равно генерирует свой. Можно как-то отменить это поведение, но не глобально, а в одном конкретном месте в коде?
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 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();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы