我有一个名为 Reservations 的实体,它与其他表有两个关系。
预订.orm.yml
oneToMany:
emails:
targetEntity: Acme\EmailBundle\Entity\Email
mappedBy: reservation
oneToMany:
texts:
targetEntity: Acme\TextBundle\Entity\Text
mappedBy: reservation
电子邮件.orm.yml
manyToOne:
reservation:
targetEntity: Acme\ReservationBundle\Entity\Reservation
inversedBy: emails
joinColumn:
name: reservation_id
referencedColumnName: id
文本.orm.yml
manyToOne:
reservation:
targetEntity: Acme\ReservationBundle\Entity\Reservation
inversedBy: texts
joinColumn:
name: reservation_id
referencedColumnName: id
使用此代码,我可以通过执行访问文本
$reservation->getTexts();
但是,当我这样做时
$reservation->getEmails();
Symfony 返回 NULL,即使在我的数据库中,电子邮件具有我试图获取电子邮件的预订的预订 ID。所以,从它看起来的样子,它会创建电子邮件并设置预订,但由于某种原因,我无法在 PHP 或 Twig 中获取这些预订的电子邮件。
我认为这是因为我没有正确定义我的关系,尽管它们基本上是千篇一律的多对一。它们的放置顺序搞砸了。在我重新编写的 PHP 中,我确实创建了一个数组集合来存储电子邮件,就像存储文本一样。不知道怎么回事......