$ cofig [modules_locations]未加载数据表

时间:2018-07-05 11:14:43

标签: codeigniter doctrine-orm codeigniter-3 hmvc hmvc-codeigniter

我正在使用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.

请帮助我解决此问题。如果我将其从子模块移至仅模块文件夹,则此客户端模块工作正常

1 个答案:

答案 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."/");
            }
        }
    }