Итак, ваша базовая модель будет выглядеть следующим образом:
A 1:n D
B 1:n D
C 1:n D
YML для А будет выглядеть это:
Acme\TestBundle\Entity\A:
type: entity
# ...
oneToMany:
products:
targetEntity: D
mappedBy: d
Вы можете просто повторить это с B и C. Для D, это будет выглядеть примерно так:
Acme\TestBundle\Entity\D:
type: entity
# ...
manyToOne:
a:
targetEntity: A
inversedBy: as
joinColumn:
name: a_id
referencedColumnName: id
b:
targetEntity: B
inversedBy: bs
joinColumn:
name: b_id
referencedColumnName: id
c:
targetEntity: C
inversedBy: cs
joinColumn:
name: c_id
referencedColumnName: id
Дайте ему попробовать. Возможно, сначала попробуйте сопоставить A и D. Если это работает, продолжайте с B. Таким образом, вы, скорее всего, поймаете ошибки на пути!
Пробовал ли вы создавать отношения «один-на-один» или «один ко многим», как и с любым другим отношением? Я полагаю, это отношение не поддерживается естественным образом! – Sgoettschkes
Я пытался, но, как я это делал, это провалилось. Можете ли вы указать мне, как вы это сделаете? Благодарю. – Haritz