我一直收到这个错误:
字段MySite \ ProductBundle \ Entity \ Product#photo位于双向关系的反面,但目标实体MySite \ PhotoBundle \ Entity \ Photo#产品上指定的mappedBy关联不包含所需内容' inversedBy =相片'属性。
我尝试过交换并在双方添加inversedBy和mappedBy,但我无法摆脱这个错误。我已经尝试添加调试器中给出的建议代码,但是没有用。这是我的映射:
Product.php
/**
* @ORM\OneToMany(targetEntity="MySite\PhotoBundle\Entity\Photo", mappedBy="product", cascade={"remove"})
*/
protected $photo;
Photo.php
/**
* @ORM\ManyToOne(targetEntity="MySite\ProductBundle\Entity\Product")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
*/
protected $product;
不确定该怎么做。
感谢。
答案 0 :(得分:1)
将 Photo.php 更改为:
/**
* @ORM\ManyToOne(targetEntity="MySite\ProductBundle\Entity\Product", inversedBy="photo")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
*/
protected $product;
如果处于prod环境中,请清理缓存。
答案 1 :(得分:0)
<强> Product.php 强>
/**
* @ORM\ManyToOne(targetEntity="MySite\ProductBundle\Entity\Product", inversedBy="photos")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
*/
protected $product;
<强> Photo.php 强>
{{1}}