解决 [Doctrine\ORM\ORMException] ManyToOne Column name `id` 引用从 Comment 到 User 的关系不存在

use*_*887 2 php symfony doctrine-orm

课堂评论

/**
 * @var \Caerus\AppBundle\Entity\Users
 *
 * @ORM\ManyToOne(targetEntity="User" , inversedBy="comment")
 * 
 * @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
 * 
 */
protected $user;
Run Code Online (Sandbox Code Playgroud)

类用户

/**
* @var mixed
*
* @ORM\OneToMany(targetEntity="Comment", mappedBy="user")
*/
protected $comment;
Run Code Online (Sandbox Code Playgroud)

基本上很简单。我需要评论类有一个user_id字段,它是user_id来自用户类的原始字段的直接副本。错误如下:

[Doctrine\ORM\ORMException]id从 Comment 到 User 的关系引用的ManyToOne 列名不存在

为什么它仍然说不存在,我该如何解决?

小智 6

引用的列名应该是 User 类的“id”属性。

/**
 * @var \Caerus\AppBundle\Entity\Users
 *
 * @ORM\ManyToOne(targetEntity="User" , inversedBy="comment")
 * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 * 
 */
protected $user;
Run Code Online (Sandbox Code Playgroud)

聚苯乙烯

  • 我还将 OneToMany 属性命名为“comments”,因为它包含许多 Comment 对象。
  • "@var \Caerus\AppBundle\Entity\Users" 应该是 ...\User 因为你的类被称为 User