Symfony2可重用实体

尼古拉斯·阿普里乌(Nicolas Appriou)

在我的一个项目中,我需要定义两个捆绑包A和B。在项目AI中,实体AE为实体;在项目BI中,实体BE为实体。

我需要AE和BE之间的双向关系,但我还需要能够用另一个具有实体CE的束C替换束B,然后再用AE-CE相同关系代替AE-BE双向关系。

看来我无法在原则2中将双向关系定义为可重用:

// pseudo PHP, just to illustrate.

/**
 * @manyToOne(targetEntity=B.E)
 * @entity
 */
class A.E() {}

/**
 * @oneToMany(targetEntity=B.E)
 * @entity
 */
class B.E() {}

我不能在不更改AE的情况下用CE替换BE,我已经习惯了python Django ORM,因为我不需要在它们各自声明两个实体之间的关系,因此可以构建可重用的实体模型。

我找不到用symfony2构建这种可重用模型的方法。我可能误会了某些东西或走错了路。对此有帮助吗?

谢谢

伊戈尔·潘托维奇(IgorPantović)

您可以使您的可重用实体与接口相关。基本上:

class MyReusableEntity
{
    /**
     * @ORM\ManyToOne(targetEntity="MyVendor\MyBundle\MyInterface")
     * @var MyInterface
     */
    protected $myInterfaceRelation;
}

并在每个项目中使用它:

doctrine:
    orm:
        resolve_target_entities:
            MyVendor\MyBundle\MyInterface: My\Concrete\Class

文件:http : //symfony.com/doc/current/cookbook/doctrine/resolve_target_entity.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony2可重用代码段功能

来自分类Dev

Symfony2表单可快速添加新实体

来自分类Dev

可重用捆绑软件的Symfony2 / Doctrine2模型类映射

来自分类Dev

可重用捆绑软件的Symfony2 / Doctrine2模型类映射

来自分类Dev

Symfony2,KnpLabs学说行为:如何真正删除可软删除的实体?

来自分类Dev

Symfony2实体与列的关系

来自分类Dev

空的继承实体Symfony2

来自分类Dev

Symfony2从请求创建实体

来自分类Dev

动态表单(开关实体)symfony2

来自分类Dev

具有CRUD的Symfony2实体

来自分类Dev

Symfony2学说实体未水合

来自分类Dev

Symfony2:从集合中间删除实体

来自分类Dev

Symfony2:向实体添加方法

来自分类Dev

Symfony2形式,与实体不匹配

来自分类Dev

无法更新实体Symfony2

来自分类Dev

Symfony2关系实体+形式

来自分类Dev

symfony2实体对象与整数崩溃

来自分类Dev

Symfony2 FormType实体字段类型

来自分类Dev

验证Symfony2实体选择字段

来自分类Dev

无法更新实体Symfony2

来自分类Dev

Doctrine Symfony2 与现有实体保持关联实体

来自分类Dev

Symfony2可捕获致命错误:参数1传递给实体可捕获致命错误:参数1传递给实体

来自分类Dev

可捕获的致命错误:symfony2

来自分类Dev

在symfony捆绑包上重用实体

来自分类Dev

symfony2 doctrine2与实体的批处理错误

来自分类Dev

symfony2 doctrine2与实体的批处理错误

来自分类Dev

symfony2 doctrine2不刷新新实体

来自分类Dev

Symfony2,Doctrine2,实体映射

来自分类Dev

doctrine2 symfony2关系实体