Doctrine ORM вставляет идентификатор автоинкремента в другой столбец на той же вставке - PullRequest
0 голосов
/ 19 мая 2018

В моей таблице идентификатор - автоинкремент.И cid и dsid не могут быть NULL.При вставке мне нужно как-то вставить в DSID значение автоматического приращения CID.Как мне справиться с этим в доктрине ORM / Symfony?

Таблица:

--------------------------------------
cid | dsid | lid
--------------------------------------

Объект:

 /**
 * @var int
 *
 * @ORM\Column(name="CID", type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $cid;

/**
 * @var int
 *
 * @ORM\Column(name="DSID", type="integer", nullable=false)
 */
private $dsid;

/**
 * @var int
 *
 * @ORM\Column(name="LID", type="integer", nullable=false)
 */
private $lid;

1 Ответ

0 голосов
/ 21 мая 2018

Генерация идентификатора происходит на стороне базы данных во время вставки, она не имеет ничего общего с Doctrine.Вы можете реализовать триггер на стороне базы данных.или сделать поля пустыми для вставки записи, а затем иметь событие postFlush, которое установит эти поля равными ID.

...