我正在创建一个 Symfony 3.4 电子商务网站。我已扩展FOSUserBundle
User
实体以链接到最终用户标记为“收藏”的项目列表:
/**
* @ORM\ManyToMany(targetEntity="AbstractProduct")
* @ORM\JoinTable(name="users_favorites",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="id")}
* )
*/
private $favorites;
当我尝试通过控制台对数据库执行任何操作时,出现以下错误:
从 AppBundle\Entity\User 到 AppBundle\Entity\AbstractProduct 的关系所引用的列名
id
不存在。
查看Doctrine 注释文档,任何列为 a 的内容JoinColumn
都nullable
默认为,所以我对系统为什么抱怨不存在的id true
有点茫然。User
我查看了有关正确映射到抽象类的Symfony文档,但我的AbstractProduct
班级有两个孩子 -Product
和FabricProduct
. 我不确定如何使用文档中的技术映射那些,如果这确实是我应该走的路。