Doctrine 2.0 ReflectionException when I try to do YAML Mapping(当我尝试进行 YAML 映射时出现 Doctrine 2.0 ReflectionException)
问题描述
我的 cli-config.php 中有这段代码:
I have in my cli-config.php this code:
$driverImpl = new DoctrineORMMappingDriverYamlDriver(array(__DIR__.'/yaml'));
$driverImpl->setFileExtension('.yml');
$config->setMetadataDriverImpl($driverImpl);
./yaml 中有 yml 文件 (Client.yml,Worker.yml,Company.yml)
In ./yaml there are the yml files (Client.yml,Worker.yml,Company.yml)
当我运行文件以在数据库中生成带有此指令的架构时:
When i run the file to generate in db the schema with this instruccion:
php doctrine orm:schema-tool:create
抛出:
PHP Warning: class_parents(): Class Client does not exist and could not be loaded in applicationPathsystemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
Warning: class_parents(): Class Cliente does not exist and could not be loaded in applicationPath\systemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
PHP Warning: array_reverse() expects parameter 1 to be array, boolean given in applicationPath\systemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
Warning: array_reverse() expects parameter 1 to be array, boolean given in applicationPath\systemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
PHP Warning: Invalid argument supplied for foreach() in applicationPath\systemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
Warning: Invalid argument supplied for foreach() in applicationPath\systemapplicationlibrariesDoctrineORMMappingClassMetadataFactory.php on line 222
[ReflectionException]
Class Client does not exist
它与 Doctrine 文档相同 http://www.doctrine-project.org/docs/orm/2.0/en/reference/yaml-mapping.html
It´s the same that Doctrine documentation http://www.doctrine-project.org/docs/orm/2.0/en/reference/yaml-mapping.html
我不知道为什么会发生这种情况,知道吗?谢谢
I don´t why it´s happening this, any idea? Thanks
推荐答案
IIRC,SchemaTool 将基于 ClassMetadata 实例生成 SQL,而不是直接从您的 YAML 映射中生成.ClassMetadata 实例也需要您的实际实体类
IIRC, the SchemaTool will generate the SQL based on ClassMetadata instances, not directly from your YAML mappings. ClassMetadata instances require your actual entity classes as well
确保您的命令行工具已加载/自动加载所有实体类.
Make sure your command line tool has all your entity classes loaded/autoloaded.
这篇关于当我尝试进行 YAML 映射时出现 Doctrine 2.0 ReflectionException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:当我尝试进行 YAML 映射时出现 Doctrine 2.0 ReflectionException


基础教程推荐
- HTTP 与 FTP 上传 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 使用 PDO 转义列名 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01