Doctrine orm 从抽象类扩展FOSUserBundle的用户模型

Doctrine orm 从抽象类扩展FOSUserBundle的用户模型,doctrine-orm,doctrine,symfony,one-to-many,Doctrine Orm,Doctrine,Symfony,One To Many,在Symfony中,我尝试创建一个文档管理系统,并创建与文档的关系 这些文档可以属于用户或组织(也有用户)。因此,与github类似,存储库可以属于用户(github.com/iamtheuser/coolrepo)或组织(github.com/myorg/coolrepo),此文档可以属于用户或组织 现在,为了做到这一点,我创建了一个抽象类DocumentableDocumentable与Document具有多对一关系。组织类扩展了文档,而用户类也应该扩展文档 但是我使用的是FOSUserBu

在Symfony中,我尝试创建一个文档管理系统,并创建与文档的关系

这些文档可以属于用户或组织(也有用户)。因此,与github类似,存储库可以属于用户(github.com/iamtheuser/coolrepo)或组织(github.com/myorg/coolrepo),此文档可以属于用户或组织

现在,为了做到这一点,我创建了一个抽象类
Documentable
Documentable
Document
具有多对一关系。
组织
类扩展了
文档
,而
用户
类也应该扩展
文档

但是我使用的是FOSUserBundle,我很难扩展
用户
模型。原来的那个看起来像

abstract class User implements UserInterface, GroupableInterface
{
    //...
}
我想以某种方式扩展它,就像这样

abstract class User extends Documentable implements UserInterface, GroupableInterface
{
    //...
}
Documentable
注释基本上如下所示:

/**

 * Documentable
 *
 * @ORM\Table(name="documentable")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\DocumentableRepository")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"user" = "AppBundle\Entity\User", "organization" = "AppBundle\Entity\Organization"})
 */
我尝试了几种方法来覆盖FOSUserBundle模型,但它似乎不起作用


这有可能吗

您正在尝试直接更改FOSUserBundle用户类吗?因为这不是正确的方法。不管怎样,你得到了什么错误?我尝试过重写模型/实体,就像你在Symfony中重写控制器一样,但它不起作用,它只是从供应商文件夹中获取模型。是的,在某种程度上我想直接更改它,因为我希望
组织
用户
(来自FOSUserBundle)具有相同的
可文档
基类,因此我可以具有双向关系,因此从文档中我可以调用
$document->getDocumentable()
它将返回
组织
用户