Doctrine - PHP致命错误:'无法获取最后一个插入标识符。'

时间:2011-06-05 19:12:38

标签: orm doctrine

我对Doctrine有一点问题。我得到以下错误:

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

我查看了这篇帖子,Doctrine Problem: 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 个答案:

答案 0 :(得分:1)

想出来 - 在YML架构中,UserEvent.user_id和UserEvent.event_id没有属性 - primary:true

一旦我这样做并重新生成模型,错误就消失了