配置中的教义 Resolve_target_entity

Posted

技术标签:

【中文标题】配置中的教义 Resolve_target_entity【英文标题】:Doctrine Resolve_target_entity in config 【发布时间】:2014-06-27 08:37:35 【问题描述】:

我在教义网站页面上找到了这个: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/resolve-target-entity-listener.html

一种让我的实体与可以配置的接口进行通信的方法。唯一的问题是我找不到任何地方如何将它放入我的阵列配置中。我已经检查了配置源,但文档中没有任何内容: https://github.com/doctrine/DoctrineORMModule/blob/master/docs/configuration.md

希望有人能帮忙

谢谢

【问题讨论】:

【参考方案1】:

你可以这样使用它:

'doctrine' => array(
    'entity_resolver' => array(
        'orm_default' => array(
            'resolvers' => array(
                'MyModule\Entity\FooInterface' => 'OtherModule\Entity\Foo',
            ),
        ),
    ),

我们使用它,例如这里(作为一个活生生的例子)在Soflomo\Blog。

【讨论】:

像魅力一样工作,但还有一种方法可以定义加入哪些列等? 是的,您应该在映射中这样做。注意我在这里使用接口,实体解析器监听器用“真实”实体替换它:github.com/Soflomo/Blog/blob/master/config/mapping/… 我看到了,但是没有办法将元信息作为 docblock 代码来执行此操作吗?问题是我在其他任何地方都使用它等等。将某些部分切换到 xml 有点奇怪 XML 和 YAML 是可替换的。我们只使用 XML,如果你使用 YAML,你也有关系注解。只需确保在 YAML 中引用接口而不是实例即可。除此之外,它是一样的。 Dirkos,请阅读我的回答。 1) Doctrine 中的映射可以通过 XML、YAML 或注释进行。 2)实体之间的关系称为关联和映射的一部分(因此,关联也在 XML、YAML 或注释中定义。3)实体解析器侦听器是一个 Doctrine 配置事物,独立于映射。因此它不能是 XML、YAML 或注释的一部分。实体目标监听器的配置应如上所定义。所有映射(包括关联)都采用您最喜欢的格式(同样,XML、YAML 或注释)。

以上是关于配置中的教义 Resolve_target_entity的主要内容,如果未能解决你的问题,请参考以下文章

带有教义的查询构建器中的外部联接

教义中的多对多关系

类中的教义注释“@Doctrine\ORM\Annotation\Entity”不存在或无法自动加载

ZF2 + Composer + Jelastic 中的教义

教义 - 防止相关表中的新 INSERT

从教义中的多对多自引用实体中获取孩子