修复双向关系的Symfony错误


Fixing Symfony Error with Bi-directional relationships

我一直得到这个错误:

字段MySite'ProductBundle'Entity'Product#photo位于双向关系的反向,但是目标实体MySite'PhotoBundle'Entity' photo # Product上指定的mappedBy关联不包含所需的'inversedBy=photo'属性。

我已经尝试交换和添加两侧的inversedBy和mapdby,但我无法摆脱这个错误。我试过添加调试器中给出的建议代码,不工作。以下是我的映射:

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;

不知道该怎么做。

谢谢。

Photo.php更改为:

/**
 * @ORM'ManyToOne(targetEntity="MySite'ProductBundle'Entity'Product", inversedBy="photo")
 * @ORM'JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
 */
protected $product;

Product.php

/**
 * @ORM'OneToMany(targetEntity="MySite'PhotoBundle'Entity'Photo", mappedBy="product", cascade={"remove"})
 */
protected $photos;

Photo.php

/**
 * @ORM'ManyToOne(targetEntity="MySite'ProductBundle'Entity'Product", inversedBy="photos")
 * @ORM'JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
 */
protected $product;