【问题标题】:CodeIgniter 3 HMVC - Unable to locate the model you have specifiedCodeIgniter 3 HMVC - 无法找到您指定的模型
【发布时间】:2018-03-26 22:15:15
【问题描述】:

当前结构

application
-modules
--Users
---controllers
----Users.php --- class Users
--Wide
---models
----Wide_model.php --- class Wide_model

autoload.php

$autoload['model'] = array('Wide/Wide_model');

我已经尝试过的事情

  1. 将文件名更改为小写,即wide_model.php,将自动加载替换为Wide/wide_model
  2. 将模块名称更改为小写,即宽,将自动加载替换为宽/宽模型
  3. 将文件名更改为大写,即Wide_model.php,但将模块名称保持为小写,自动加载到wide/Wide_model

Wide_model.php

class Wide_model extends CI_Model {

    public function insert($table, $data) {
        $data['modify'] = date('Y-m-d H:i:s');

        if ($this->db->insert($table, $data)) {
            return "true";
        } else {
            return "false";
        }
    }

$autoload['model'] = array('Wide/Wide_model');

【问题讨论】:

    标签: php codeigniter model-view-controller codeigniter-3 hmvc


    【解决方案1】:

    这会奏效。 (已测试)


    转到您的模型文件并将其重命名

    Wide_model.php --> wide_model.php
    

    然后转到autoload.php & 更改此设置

    $autoload['model'] = array('Wide/wide_model');
    

    要访问模型函数使用这个

    $this->wide_model->FunctionName();
    

    【讨论】:

    • 同样的错误不起作用,如果我删除自动加载,模型不会自动加载,那么默认控制器将被加载,不仅如此,所有控制器和视图都工作正常,除了数据库工作 - 插入,更新和删除;因为wide_model对所有控制器都是通用的
    • 如果宽模型是通用的,则将其放在应用程序根目录的模型文件中
    • 还是同样的错误 - 你能检查一下吗,如果共享代码 - 70% 的项目已完成;在 windows 下工作正常,现在必须上传,现在在 Linux 下工作
    • 分享什么??没有添加任何问题
    • 可以提供在线ftp凭证或通过电子邮件分享
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2015-04-14
    • 2012-08-15
    相关资源
    最近更新 更多