我正在使用没有虚拟机的 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 中运行了命令,如此处的示例所示:
更具体地说,这个:
$ 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'
如果 Entity 类是在它们上生成的,为什么 Doctrine 要求映射文件?
难道我做错了什么?