Tim*_*tle 5 php oop orm single-table-inheritance doctrine-orm
我在 Doctrine2 中使用单表继承来存储多个服务的 OAuth 凭据。我想使用服务的 id 作为主键;然而,这并不是所有服务中唯一的。
我已经将数据库设置为使用鉴别器列和服务的 id 作为主键,但是我找不到一种方法让 Doctrine 使用鉴别器列作为键(除了鉴别器列)。我正在使用 docblock 注释,如果我将鉴别器列添加为 @Id 字段,则会出现错误:
Duplicate definition of column...in a field or discriminator column mapping.
Run Code Online (Sandbox Code Playgroud)
如果我只将该字段定义为鉴别器列,则任何重叠的服务 ID 都会更新所有匹配的行。
无论如何要完成这项工作,除了使用自动生成的 it 值?
不能,鉴别器列不能用作主键的一部分。
顺便说一句,为什么这个用例需要 STI?您必须为您提供的每个 open-id 服务创建一个新类,这听起来很烦人:-)
归档时间: |
|
查看次数: |
3287 次 |
最近记录: |