我有一个名为Reservations的实体,它与其他表有两个关系。
reservation.orm.yml
oneToMany:
emails:
targetEntity: Acme\EmailBundle\Entity\Email
mappedBy: reservation
oneToMany:
texts:
targetEntity: Acme\TextBundle\Entity\Text
mappedBy: reservation
email.orm.yml
manyToOne:
reservation:
targetEntity: Acme\ReservationBundle\Entity\Reservation
inversedBy: emails
joinColumn:
name: reservation_id
referencedColumnName: id
text.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研究中,我创建了一个数组集来存储电子邮件,就像文本一样。不知道发生了什么......
答案 0 :(得分:1)
尝试使用预订yml文件..
oneToMany:
oneToMany:
texts:
targetEntity: Acme\TextBundle\Entity\Text
mappedBy: reservation
emails:
targetEntity: Acme\EmailBundle\Entity\Email
mappedBy: reservation