Учение 2 отношение многих ко многим - PullRequest
1 голос
/ 19 июня 2011

Я создаю мои отображения Doctrine 2 (в XML).Я хотел бы создать отношения «многие ко многим» между сущностями Snippet и Tag, используя:

Snippet :

<many-to-many field="tags" target-entity="Tag">
    <cascade><cascade-all /></cascade>
</many-to-many>

Tag

<many-to-many field="snippets" target-entity="Snippet">
    <cascade><cascade-all /></cascade>
</many-to-many>

Однако, когда я использую schematool для генерации таблиц базы данных, добавляются две таблицы.tag_snippet и snippet_tag.Есть ли способ использовать только 1 таблицу вместо 2?

Решением будет определение отношения только в одной из сущностей, но смогу ли я получить к ней доступ из другой?(потому что никакое конкретное свойство не определено наоборот)

Похоже, я упускаю что-то очевидное здесь.

1 Ответ

2 голосов
/ 20 июня 2011

Похоже, вам нужно решить, какая сторона "владеющая" (на языке доктрины), и добавить соответствующие атрибуты "mapped-by" и "inversed-by" в ваши теги ManyToMany.

См. Документацию , в частности пример XML.

...