我正在使用 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)
...
是否可以使用doctrine模式文件定义这种关系?
答案 0 :(得分:3)
Doctrine不能很好地使用多个主键,除非它们被用作多对多引用表(联结表)。
如果您想要1对多关系而不是多对多关系,那么最好将主键列添加到BookReader
。然后,您可以在书籍和读者上添加唯一索引。