2013-05-16 62 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个关系。