【发布时间】:2016-02-28 16:43:20
【问题描述】:
我刚刚创建了一个名为 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;
在我的 Products 实体中
/**
* @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;
当我去验证我的实体时,我收到以下错误
[映射] FAIL - 实体类“Application\Entity\ProductReviews”映射无效:
关联 Application\Entity\ProductReviews#product 指的是不存在的反边字段 Application\Entity\Products#reviews。
关联Application\Entity\ProductReviews#user指的是不存在的反边字段Application\Entity\Users#reviews。
但是,两个反向字段都存在,据我所知,映射正确。
谁能发现我做错了什么?
非常感谢。
【问题讨论】:
标签: orm doctrine-orm zend-framework2