0

「Lesson」と「MutorSche」という名前の 2 つのテーブルがあります。

MutorSche には「lessonBooked」列があります レッスンには「booked」列があります

お互いに外部キーを持ちたい。しかし、inversedBy と MappedBy の意味がわかりません。これらは私のコードです。何か間違っていることでも??

私を助けてください.ありがとう..

     /**
     *
     * @ORM\OneToMany(targetEntity="Acme\UserBundle\Entity\Lesson", inversedBy="booked*removethis : name of the variable in Lesson.php*")
     * @ORM\JoinColumn(name="lessonBooked", referencedColumnName="id")
     */ 

    private $lessonBooked = null;

    /**
     *
     * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\MutorSche", mappedBy="lessonBooked*removethis : name of the variable in MutorSche.php*")
     */
    private $booked;
4

1 に答える 1

1

外部キーは、所有側に追加されます (教義の pov から - 常に所有側と見なされるとは限りません) 別名 inversedBy を使用する側。

追加する外部キー ( name="id ) と列名 ( referencedColumnName="user_id" ) は、 @JoinColumn アノテーションを使用して構成できます。

@ManyToOne は常にリレーションの所有側です。

論理的には、列内の 1 つのデータベース エントリにすべての外部キーを追加することはできません。それらは、「多くの」関連エントリのすべてに保存する必要があります。

Doctrine は両側に外部キーを追加しません。

于 2013-06-16T17:29:29.497 に答える