【问题标题】:Symfony2 + FOSUserBundle -> User and Company extends ProfileSymfony2 + FOSUserBundle -> 用户和公司扩展配置文件
【发布时间】:2014-08-21 22:51:16
【问题描述】:

我实际上是用 Symfony2 + FOSUserBundle 建立一个网站..

我有多个继承模型:

个人资料有地址、电话、邮政编码等。 个人资料可以创建文章、视频等..

公司扩展个人资料并属于用户

用户扩展 Profile AND BaseUser ??

我希望我的用户实体扩展 Profile 和 FOS\BaseUser

我该怎么做?

谢谢

【问题讨论】:

  • PHP 当然不支持多重继承。最好的选择是组合,即用户和个人资料之间的一对一关系以及公司和个人资料之间的另一个关系。
  • 您只需要使用 FOS\BaseUser Bundle,无需使用您自己的 bundle。在 FOS 捆绑包中,您可以根据需要自定义所有内容。那么为什么要制作单独的用户捆绑包?

标签: symfony inheritance doctrine-orm fosuserbundle


【解决方案1】:

如果我理解你的意思,你有一个用户、个人资料和公司对象。

您的公司扩展了您的个人资料,并且您希望用户扩展个人资料和用户。

我认为您的对象模型可能有点偏斜。一个用户有一个配置文件,所以它应该包含配置文件。

如果您将您的用户视为拥有公司,那么它也将包含该公司。

$user->getProfile()->getAddress();

$user->getCompany()->getAddress();

此外,如果您在某些时候可能有多个地址、电话号码等。将其进一步拆分是明智的。

用户的个人资料有一个或多个地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2011-02-19
    • 2021-12-30
    • 2012-03-11
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    相关资源
    最近更新 更多