最初,我的CodeIgniter设置的models文件夹中有我的实体类(带有Doctrine注释的PHP)。我认为这不是一个好主意,所以我把所有实体都移到了一个“Entities”文件夹中并相应地更新了我的Doctrine.php文件......但是现在当我尝试使用Doctrine CLI运行任何东西时,我得到了这个错误:
PHP Warning: require([application path withheld]/application/models/Entities/grocery_CRUD_Model.php): failed to open stream: No such file or directory in [application path withheld]/application/libraries/Doctrine/Common/ClassLoader.php on line 163
PHP Fatal error: require(): Failed opening required '[application path withheld]/application/models/Entities/grocery_CRUD_Model.php' (include_path='.:/usr/share/pear:/usr/share/php') in [application path withheld]/application/libraries/Doctrine/Common/ClassLoader.php on line 163
我知道Doctrine正在查找正确的目录,但似乎仍然认为我的grocery_CRUD_Model.php
应该在该目录中。此文件与之前的其他实体位于同一文件夹中,但它从未有任何Doctrine注释。我已经尝试清除Doctrine的元数据,查询和结果缓存,看看Doctrine是否会忘记这个文件,但它没有帮助。
这里发生了什么?为什么Doctrine坚持在Entities文件夹中包含该文件?
答案 0 :(得分:1)
我找到了答案,我用grep尝试看看某处是否存在某种grocery_CRUD_Model
缓存对象文件,最后发现我的某个实体(只有一个,我一定是试验)延长grocery_CRUD_Model
。
我删除了继承并且它有效!