【问题标题】:Doctrine 2.2 ORM: After reverse-engineering from database MappingException is thrownDoctrine 2.2 ORM:从数据库进行逆向工程后抛出 MappingException
【发布时间】:2013-02-04 16:43:28
【问题描述】:

我正在使用 Zend Framework 样板,没有虚拟机。

我的 Application.ini,如下所示:

;resources.doctrine.orm.entityManagers.default.metadataDrivers.annotationRegistry.annotationFiles[]     = APPLICATION_PATH "/../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php"
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.adapterClass          = "Doctrine\ORM\Mapping\Driver\XmlDriver"
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingNamespace      = "Square\Entity"
resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingDirs[]         = APPLICATION_PATH "\..\library\Square\Entity"
;resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderClass = "Doctrine\Common\Annotations\AnnotationReader"
;resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderCache = default
;resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderNamespaces.Square = "Square\Entity"

我已经在 CLI 中运行了该命令,就像这里的示例一样:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/tools.html#reverse-engineering

更具体地说是这个:

$ php doctrine orm:convert-mapping --from-database xml /path/to/mapping-path-converted-to-xml

这使用以下命名架构生成了我的 xml 文件:{Entity}.dcm.xml

我已经根据这些 XML 文件生成了我的实体类,然后尝试使用以下命令保存到数据库中:

    try{
        $this->_em->persist($this->_apikey);
        $this->_em->flush();
    }catch (Exception $e){
        echo "Something went bad --> ".$e;
    }

$this->_apikey = new Square\Entity\Apikeys(); 在构造方法中的位置。

实体管理器抛出异常:

exception 'Doctrine\ORM\Mapping\MappingException' with message 'No mapping file found'

如果实体类是在它们上生成的,为什么 Doctrine 要求映射文件?

我是不是做错了什么?

【问题讨论】:

  • 你的实体名为 APIkeys.php 吗?
  • @mpm:是的!我的实体名为 APIkeys
  • doctrine 命令是否使用与您的应用程序相同的引导过程?

标签: php zend-framework orm doctrine-orm


【解决方案1】:

Doctrine 2.2 要求您保留 xml 文件,即使它的 PHP 类从它们进行逆向工程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多