2013-05-16 63 views
0

我是Symfony的新手,我不確定自己得到了我期望的結果,但這並不意味着他們錯了。Symfony中的表格映射

我有2類物業和PropertyGuestAmenity

當我運行控制檯命令來更新架構,我得到產生2個表。財產和property_guest_amenity。這是我所期望的。

的2臺連在了一起,我已經設置了表映射爲

物業

 /** 
     * @ORM\ManyToMany(targetEntity="PropertyGuestAmenity", 
inversedBy="properties") 
     * @ORM\JoinTable(name="property_amenity_map") 
     */ 
    protected $amenities; 

在PropertyGuestAmenity

/** 
    * @ORM\ManyToMany(targetEntity="Property", inversedBy="amenities") 
    */ 
protected $property=null; 

當我運行架構更新它所產生的property_amenity_map表I 期望它,但它也生成propertyguestamenity_property,它看起來與property_ameni相同ty_map,但字段的順序相反。

我做錯了什麼或者是正常的行爲?

回答

2

在關係中,一方是反轉的,另一個是映射的。有點警告。

所以,在你PropertyGuestAmenity

/** 
* @ORM\ManyToMany(targetEntity="Property", mappedBy="amenities") 
*/ 
protected $property=null; 
+0

那它固定在我的預期。謝謝。 – Khainestar

0

是的,你的宣言中有一個問題讓教條認爲你必須要有許多與衆不同的關係。

第一個被「屬性」反轉,第二個被「設施」反轉。但是在你的第二堂課只有「財產」(沒有「財產」)。

So Doctrine做了2個關係。