类注释
/**
* @var CaerusAppBundleEntityUsers
*
* @ORMManyToOne(targetEntity="User" , inversedBy="comment")
*
* @ORMJoinColumn(name="user_id", referencedColumnName="user_id")
*
*/
protected $user;
类用户
/**
* @var mixed
*
* @ORMOneToMany(targetEntity="Comment", mappedBy="user")
*/
protected $comment;
基本上很简单。我需要注释类有一个user_id
字段,该字段是用户类原始user_id
字段的直接副本。错误如下:
[Doctrine\ORM\ORMException] ManyToOne 列名称
id
引用的注释与用户的关系不存在
为什么它仍然说不存在,我该如何解决?
引用的列名应该是 User 类的 "id" 属性。
/**
* @var CaerusAppBundleEntityUsers
*
* @ORMManyToOne(targetEntity="User" , inversedBy="comment")
* @ORMJoinColumn(name="user_id", referencedColumnName="id")
*
*/
protected $user;
附言
- 我还将OneToMany属性命名为"注释",因为它包含许多Comment对象。
- "@var \Caerus\AppBundle\Entity\Users"应该是 ...\User,因为你的类被称为 User
运行php bin/console doctrine:schema:validate
将使您更深入地了解错误条件中涉及哪些实体类和列。
您也可以使用此代码:
/**
* @var CaerusAppBundleEntityUsers
*
* @ORMManyToOne(targetEntity="User" , inversedBy="comment")
*
* @ORMJoinColumn(nullable=true , referencedColumnName="variable_id_of_comment")
*/
protected $user;