这是我的问题:
我有一个名为UserBase
的抽象类,它扩展了我的所有用户 - 实体:
/**
* Class UserBase
* @ORM\MappedSuperclass()
*/
abstract class UserBase implements UserInterface, \JsonSerializable {
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
....
在此实体中,名为ChatConversation
的实体之间存在多对多双向关系:
/**
* @var \Doctrine\Common\Collections\ArrayCollection
*
* @ORM\ManyToMany(
* targetEntity="AppBundle\Entity\ChatConversation",
* inversedBy="users"
* )
* @ORM\JoinTable(
* name="chat_user_conversation",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="conversation_id", referencedColumnName="id")}
* )
*/
private $conversations;
ChatConversation
上课:
class ChatConversation {
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \Doctrine\Common\Collections\ArrayCollection
*
* @ORM\ManyToMany(
* targetEntity="AppBundle\Entity\UserBase",
* mappedBy="conversations"
* )
*/
private $users;
这段代码对我来说似乎很正确但是当我尝试更新数据库架构时,这会导致错误:
我希望有人可以帮我弄清楚我的代码有什么问题,谢谢你!
答案 0 :(得分:0)
问题是由doctrine架构更新脚本尝试为扩展UserBase的每个子类创建“join”chat_user_conversation引起的。
要解决此问题,您可以在实体的定义中使用Association override。
UPDATE