Doctrine orm 可以通过抽象类建立关系吗
我用的是ZF2,信条 我有几个扩展基本抽象类的实体。 抽象类中的一个字段与另一个实体消息相关 我的实体:Doctrine orm 可以通过抽象类建立关系吗,doctrine-orm,zend-framework2,abstract-class,relationship,Doctrine Orm,Zend Framework2,Abstract Class,Relationship,我用的是ZF2,信条 我有几个扩展基本抽象类的实体。 抽象类中的一个字段与另一个实体消息相关 我的实体: class AbstractChat { ............ /** ONE-TO-MANY BIDIRECTIONAL, INVERSE SIDE * @ORM\OneToMany(targetEntity="Chat\Entity\Message", mappedBy="chat") */ protected $messages; }
class AbstractChat
{
............
/** ONE-TO-MANY BIDIRECTIONAL, INVERSE SIDE
* @ORM\OneToMany(targetEntity="Chat\Entity\Message", mappedBy="chat")
*/
protected $messages;
}
class Chat extends AbstractChat
{
}
class ChatBuilding extends AbstractChat
{
}
class Message
{
/**
* @var \Chat\Entity\Chat
*
* @ORM\ManyToOne(targetEntity="Chat\Entity\AbstractChat", inversedBy="messages")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="chat_id", referencedColumnName="id")
* })
*/
private $chat;
}
如何声明该关系是与扩展AbstractChat
类的所有实体的关系
这意味着不起作用:
@ORM\ManyToOne(targetEntity="Chat\Entity\AbstractChat", inversedBy="messages")
您可以实现与超类的关系 继承有两种类型。单表和类表(hibernate中每个类的表)。查看类表继承