0

我正在使用 HMVC codeigniter 3。我在下面有一个名为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.

请帮我解决这个问题..这个客户端模块工作正常,如果我将它从子模块移动到只有模块文件夹

4

1 回答 1

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."/");
            }
        }
    }
于 2018-07-05T11:33:49.580 回答