2013-07-31 52 views
0

我有一个名为Reservations的实体,与其他表有两个关系。实体上的两个OnetoMany关系会导致错误?

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中,我创建了一个数组集合来存储电子邮件,就像文本一样。不知道这是怎么回事....

回答

1

尝试此保留YML文件..

oneToMany: 
    oneToMany: 
     texts: 
      targetEntity: Acme\TextBundle\Entity\Text 
      mappedBy: reservation 
     emails: 
      targetEntity: Acme\EmailBundle\Entity\Email 
      mappedBy: reservation 
相关问题