他のテーブルとの 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 では、配列コレクションを作成して、メールをテキストと同じように保存します。何が起こっているのかわからない....