0

最初,我在 CodeIgniter 设置的模型文件夹中有我的实体类(带有 Doctrine 注释的 PHP)。我认为这不是一个好主意,所以我将所有实体移动到“实体”文件夹中并相应地更新了我的 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 现在正在寻找正确的目录,但似乎仍然认为 mygrocery_CRUD_Model.php应该在那个目录中。该文件与之前的其他实体位于同一文件夹中,但从未有任何 Doctrine 注释。我已经尝试清除 Doctrine 的元数据、查询和结果缓存,以查看 Doctrine 是否会忘记这个文件,但它没有帮助。

这里发生了什么?为什么 Doctrine 坚持将该文件放在 Entity 文件夹中?

4

1 回答 1

1

我找到了答案,我使用 grep 尝试查看某处是否存在某种grocery_CRUD_Model缓存对象文件,最终我发现不知何故我的一个实体(只有一个,我一定一直在试验)扩展了grocery_CRUD_Model.

我删除了继承,它起作用了!

于 2013-02-15T21:25:01.030 回答