0

他のテーブルとの 2 つの関係を持つ 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

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でそれらの予約のメールを取得できません。

これは、関係を正しく定義しなかったためだと思いますが、基本的にはクッキーカッターの多対 1 です。それらが配置されている順序は、それを台無しにしています。私の reserations 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 に答える