Orm 条令实体映射不正确

Orm 条令实体映射不正确,orm,doctrine-orm,zend-framework2,Orm,Doctrine Orm,Zend Framework2,我刚刚创建了一个名为ProductReviews的新实体,它包含以下两个连接 /** * @var \Application\Entity\Products * * @ORM\ManyToOne(targetEntity="Application\Entity\Products", inversedBy="reviews") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="product_id", referencedColumnName=

我刚刚创建了一个名为ProductReviews的新实体,它包含以下两个连接

/**
 * @var \Application\Entity\Products
 *
 * @ORM\ManyToOne(targetEntity="Application\Entity\Products", inversedBy="reviews")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="product_id", referencedColumnName="product_id")
 * })
 */
private $product;

/**
 * @var \Application\Entity\Users
 *
 * @ORM\ManyToOne(targetEntity="Application\Entity\Users", inversedBy="reviews")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
 * })
 */
private $user;
在我的产品实体中,我有

/**
 * @var \Doctrine\ORM\PersistentCollection
 *
 * @ORM\OneToMany(targetEntity="Application\Entity\ProductReviews", cascade={"persist"}, mappedBy="product")
 */
private $reviews;
/**
 * @var \Doctrine\ORM\PersistentCollection
 *
 * @ORM\OneToMany(targetEntity="Application\Entity\ProductReviews", mappedBy="user")
 * })
 */
private $reviews;
最后,在我的用户实体中

/**
 * @var \Doctrine\ORM\PersistentCollection
 *
 * @ORM\OneToMany(targetEntity="Application\Entity\ProductReviews", cascade={"persist"}, mappedBy="product")
 */
private $reviews;
/**
 * @var \Doctrine\ORM\PersistentCollection
 *
 * @ORM\OneToMany(targetEntity="Application\Entity\ProductReviews", mappedBy="user")
 * })
 */
private $reviews;
当我去验证我的实体时,我得到以下错误

[Mapping]失败-实体类“Application\entity\ProductReviews”映射无效:

  • 关联Application\Entity\ProductReviews#product是指不存在的反向侧字段Application\Entity\Products#reviews

  • 关联Application\Entity\ProductReviews#user指的是不存在的反向侧字段Application\Entity\Users#reviews

然而,这两个反向边字段都存在,而且据我所知,它们映射正确

谁能看出我做错了什么


非常感谢。我已经弄明白了。问题是由Doctrines缓存引起的,通过清除缓存,实体现在可以正确映射

我使用以下命令行命令清除缓存

php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:clear-cache:query
php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:clear-cache:metadata
php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:clear-cache:result
下面是检查实体映射的步骤

php ./vendor/doctrine/doctrine-module/bin/doctrine-module orm:validate-schema
我希望这能帮助别人