【发布时间】:2011-04-17 12:27:45
【问题描述】:
我在 Doctrine2 中使用 Single Table Inheritance 来存储多个服务的 OAuth 凭据。我想使用服务的 id 作为主键;但是,这并不是所有服务都独一无二的。
我已将数据库设置为使用鉴别器列和服务的 id 作为主键,但我找不到让 Doctrine 使用鉴别器列作为键的方法(除了鉴别器列)。我正在使用 docblock 注释,如果我将鉴别器列添加为 @Id 字段,则会出现错误:
Duplicate definition of column...in a field or discriminator column mapping.
如果我只将该字段定义为鉴别器列,则任何重叠的服务 ID 都会更新所有匹配的行。
除了使用自动生成的 it 值之外,无论如何要让它工作?
【问题讨论】:
标签: php oop orm single-table-inheritance doctrine-orm