在Symfony中,我尝试创建文档管理系统并创建与文档的关系。
这些文档可以属于用户或组织(也有用户)。因此,类似于github,其中存储库可以属于用户(github.com/iamtheuser/coolrepo)或组织(github.com/myorg/coolrepo),此文档可以属于用户或组织。
现在,为了做到这一点,我创建了一个抽象类Documentable
。 Documentable
与Document
具有多对一关系。 Organization
类扩展Documentable
,User
类也应扩展Documentable
。
但我使用的是FOSUserBundle,而且我在扩展User
模型时遇到了困难。原始的看起来像
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模型,但它似乎无法正常工作。
这一切都可能吗?