Symfony中的表映射

时间:2013-05-16 17:03:30

标签: php symfony

我是Symfony的新手,我不确定我是否得到了我期望的结果,尽管这并不意味着他们错了。

我有2个类Property和PropertyGuestAmenity

当我运行console命令更新架构时,我生成了2个表。 property and property_guest_amenity。这是我所期待的。

这两个表链接在一起,我已将表格地图设置为

在物业

     /**
      * @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_amenity_map相同,但字段顺序相反。

我做错了什么或是正常行为?

2 个答案:

答案 0 :(得分:2)

在关系中,一方是反转的,另一方是映射的。一点点警告。

那么,在你的PropertyGuestAmenity

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

答案 1 :(得分:0)

是的,您的声明中存在一个问题,即让学说认为您必须处理多种关系。

第一个是“属性”,第二个是“设施”。但是在你的第二堂课中,你只有“属性”(没有“属性”)。

所以学说有两种关系。