【问题标题】:Doctrine: 1 to many relationship with multiple foreign keys原则:与多个外键的一对多关系
【发布时间】:2011-04-25 22:12:31
【问题描述】:

我正在使用 Doctrine 1.2 并寻找正确的语法 用于在我的 schema.yml

中的两个表之间创建 1:n 关系

通常由以下人员完成:

BookChapter:
  columns:
    ...
  relations:
    Book:
      class: Book
      local: book_id
      foreign: id
      type: one
      onDelete: cascade

但在我的特殊情况下,有 2 个外主键

BookReader

book:
  type: integer(8)
  primary: true
reader: 
  type: integer(8)
  primary: true


BookReaderDetails

book_id: integer(8)
reader_id: integer(8)
...

是否可以用教义模式文件定义这样的关系?

【问题讨论】:

    标签: php sql doctrine schema.yml


    【解决方案1】:

    Doctrine 不能很好地处理多个主键,除非它们被用作多对多引用表(联结表)。

    如果您想要一个一对多而不是多对多的关系,您最好向BookReader 添加一个主键列。然后,您可以为书籍和阅读器设置唯一索引。

    【讨论】:

    • 我不得不承认我的例子很糟糕。尽管事实上它没有多大意义,但我的意图是在联结表和另一个表之间创建一对多的关系。
    猜你喜欢
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2020-12-30
    • 2022-01-22
    • 2020-05-01
    • 2020-01-08
    相关资源
    最近更新 更多