我安装了CodeIgniter 2 + Doctrine 2的'vanilla'。
我的教程Entity.User.dcm.yml和Entity.Article.dcm.yml文件在CLI中工作正常,通过/ php doctrine-cli.php orm:generate-entities模型和php doctrine-cli.php orm :generate-proxies没有大惊小怪,没问题。
但是当我得到蛙队并决定制作新的Project1.User.dcm.yml和Project1.cartdata.dcm.yml时,我通过了生成实体,但是当我运行生成代理时,我得到了:
警告:class_parents():类Project1 \ Users不存在,无法在第40行的/../applicationFolder/libraries/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php中加载
警告:array_reverse()期望参数1为数组,布尔值在第231行的/../applicationFolder/libraries/Doctrine/ORM/Mapping/ClassMetadataFactory.php中给出
警告:在/../ applicationFolder / libraries / Doctrine / ORM / Mapping中为foreach()提供的参数无效
我尝试了大量的修修补补,我尝试制作名称Entities.Project1.User.dcm.yml和类似,但没有运气。如果我回到我的教程实体文件,那么一切正常。据我所知,我确保精细的内部结构是一致的,Project1\User
等等
我错过了一些简单易行的东西吗?或者是否需要进行其他一些配置更改以获得允许这些的原则?
答案 0 :(得分:1)
在Doctrine.php中:
// load the entities
$entityClassLoader = new \Doctrine\Common\ClassLoader('Entities', APPPATH.'models');
$entityClassLoader->register();
$entityClassLoader = new \Doctrine\Common\ClassLoader('MyNamespace1', APPPATH.'models');
$entityClassLoader->register();
$entityClassLoader = new \Doctrine\Common\ClassLoader('MyNamespace2', APPPATH.'models');
$entityClassLoader->register();