Итак, ваша базовая модель будет выглядеть так:
A 1:n D
B 1:n D
C 1:n D
yml для A будет выглядеть так:
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. Таким образом, вы с большей вероятностью поймаете ошибки в пути!