Здравствуйте! ПОдскажите, пожалуйста, как в Symfony 3, установить id чтобв он начинался с нуля.
Сейчас в Entity классе написано так:
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\SequenceGenerator(sequenceName="id", initialValue=0)
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
и id начинается с 1, а нужно с 0.
Заранее спасибо!
Что происходит?
Аннотация @ORM\SequenceGenerator имеет эффект только при использовании вместе с:
/**
* @ORM\GeneratedValue(strategy="SEQUENCE")
*/
Вы же используете:
/**
* @ORM\GeneratedValue(strategy="AUTO")
*/
что делает аннотацию @ORM\SequenceGenerator бесполезной.
Сразу хочу отметить, что MySQL не поддерживает последовательностей, а значит вы не сможете использовать strategy="SEQUENCE" с этой базой данных.
Что делать?
Правильнее всего было отказаться от идеи начинать идентификаторы с нуля. Строго говоря, id = 0 лишен смысла (как, впрочем, и id = -1).
Если очень хочется, вы можете задать начальное значение auto_increment в ручную:
ALTER TABLE something AUTO_INCREMENT = 0;
Чтобы это работало, вам так же придется задать режим NO_AUTO_VALUE_ON_ZERO.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей