Doctrine - PHP Неустранимая ошибка: «Не удалось получить идентификатор последней вставки». - PullRequest
1 голос
/ 05 июня 2011

У меня небольшая проблема с Доктриной.Я получаю следующую ошибку:

PHP Fatal error:  Uncaught exception 'Doctrine_Connection_Exception' with message 'Couldn't get last insert identifier.'

Я посмотрел этот пост, Доктрина Проблема: Не удалось получить идентификатор последней вставки , что было полезно, но моя проблема немного отличается.

Я получаю эту ошибку для таблицы, которая НЕ должна иметь первичный ключ auto_increment.Моя установка выглядит следующим образом:

Event:
  id:int, PK, auto_increment

User
  id: int, PK, auto_increment

UserEvent:
  user_id:int, PK
  event_id: int, PK

У меня проблема с вставкой в ​​UserEvent.Таким образом, процесс заключается в том, что я вставляю запись в Event, затем вставляю запись в User, а затем вставляю запись в UserEvent.

Самое смешное, что вставляются все эти три штрафа.Но после вставки последнего (UserEvent) выдается эта ошибка.

Есть идеи?

1 Ответ

1 голос
/ 07 июня 2011

Разобрался - в схеме YML для UserEvent.user_id и UserEvent.event_id не было атрибута - primary: true

Как только я сделал это и заново сгенерировал модели, ошибка исчезла

...