使用双向关系修复Symfony错误

时间:2016-10-01 16:33:59

标签: php symfony

我一直收到这个错误:

  

字段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;

不确定该怎么做。

感谢。

2 个答案:

答案 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}}