То, когда я пытаюсь сохранить данные к своей модели Doctrine, выдает это исключение:
Message: Couldn't get last insert identifier.
Мой код установки таблицы:
$this->hasColumn('id', 'integer', 4, array(
'type' => 'integer',
'length' => 4,
'fixed' => false,
'unsigned' => false,
'primary' => true,
'autoincrement' => true,
));
Помогите.Спасибо.
Убедитесь, что столбец в вашей базе данных настроен как auto_increment. Похоже, что класс Doctrine обрабатывает его как auto_increment, но он не настроен как таковой в БД.
У меня это сработало:
$this->hasColumn('cd_fabricante', 'integer', 4, array(
'type' => 'integer',
'length' => 4,
'unsigned' => true,
'primary' => true,
'auto_increment' => true,
) );
Были те же параметры, что и вы ранее, такая же ошибка.
РЕДАКТИРОВАТЬ: недавно я обнаружил добавление «auto_increment» в определение столбца PK, и теперь оно ведет себя так же, как любое заданное поле идентификатора, обрабатываемое Doctrine, с любым именем, которое я выберу