我是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相同,但字段顺序相反。
我做错了什么或是正常行为?
答案 0 :(得分:2)
在关系中,一方是反转的,另一方是映射的。一点点警告。
那么,在你的PropertyGuestAmenity
中/**
* @ORM\ManyToMany(targetEntity="Property", mappedBy="amenities")
*/
protected $property=null;
答案 1 :(得分:0)
是的,您的声明中存在一个问题,即让学说认为您必须处理多种关系。
第一个是“属性”,第二个是“设施”。但是在你的第二堂课中,你只有“属性”(没有“属性”)。
所以学说有两种关系。