0

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

4

1 回答 1

1

试试这个保留 yml 文件..

oneToMany:
    oneToMany:
        texts:
            targetEntity: Acme\TextBundle\Entity\Text
            mappedBy: reservation
        emails:
            targetEntity: Acme\EmailBundle\Entity\Email
            mappedBy: reservation
于 2013-07-31T08:02:57.093 回答