Доктрина: отношение 1 ко многим с несколькими внешними ключами - PullRequest
2 голосов
/ 15 октября 2010

Я использую Doctrine 1.2 и ищу правильный синтаксис для создания 1: n отношения между двумя таблицами в моем schema.yml

Обычно это делают:

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)
...

Можно ли определить такое отношение с помощью файла схемы доктрины?

1 Ответ

3 голосов
/ 16 октября 2010

Doctrine не очень хорошо работает с несколькими первичными ключами, если только они не используются в качестве справочной таблицы «многие ко многим» (таблица соединений).

Если вам нужно отношение 1-ко-многим, а не многие-ко-многим, вам, вероятно, лучше всего добавить столбец первичного ключа в BookReader. Затем вы можете поместить уникальный индекс в книгу и читатель.

...