我正在使用HMVC codeigniter3。在下面有一个名为 admin 的文件夹,在该文件夹中有一个名为 client 的子文件夹。在我的配置文件中,我已经像这样设置了模块路径;
$config['modules_locations'] = array(
APPPATH.'modules/' => '../modules/',
APPPATH.'modules/admin/' => '../modules/admin/',
);
现在,问题是,它加载了我的客户端控制器,但没有加载我的实体。它向我显示以下错误;
> An uncaught Exception was encountered
>
> Type: Doctrine\ORM\Query\QueryException
>
> Message: [Semantical Error] line 0, col 109 near 'entities\AppClient':
> Error: Class 'entities\AppClient' is not defined.
请帮助我解决此问题。如果我将其从子模块移至仅模块文件夹,则此客户端模块工作正常
答案 0 :(得分:0)
解决了它...在Doctorine.php中添加以下功能
private function _recursiveDir(&$array, $directory)
{
$scanned_dir = array_diff(scandir($directory), array('..', '.'));
sort($scanned_dir);
$subModules = array(
"admin"
);
foreach ($scanned_dir as $module) {
if (is_dir($directory.$module."/models")) {
$array[] = $directory.$module."/models/doctrine/entities";
} else if (in_array($module, $subModules)) {
$this->_recursiveDir($array, $directory.$module."/");
}
}
}