【问题标题】:unable to locate the model you have specified codeigniter无法找到您指定的型号 codeigniter
【发布时间】:2023-03-25 04:06:01
【问题描述】:

我无法获取模型文件 User_model.php

我在models/frontend/user_model.php中指定了文件

user_model.php 中的声明

<?php

class User_model extends CI_Model {}

我在控制器中有用户模型:

<?php

class User_controller extends MY_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('frontend/user_model');
    }

这在我的本地主机上正常工作,但是当我在我的域上托管时,它会出现此类错误。

【问题讨论】:

  • 使用错误消息更新您的问题。
  • 以及您使用的 CI 版本!
  • 检查型号名称。区分大小写的名称在 localhost 中被忽略。但在服务器中,它们被视为不同的文件。我可以看到您的模型名称是 user_model。但是模型类是大写字母的 User_model。希望有所帮助。
  • 我正在使用 codeigniter 3.0
  • 您需要将模型文件从 user_model.php 重命名为 User_model.php 在 windows wampp 或 xampp 中,大小写无关紧要,但您的生产环境必须在 linux 上,并且区分大小写,这就是您收到错误的原因。

标签: php codeigniter model controller


【解决方案1】:

您需要将模型文件从 user_model.php 重命名为 User_model.php 在 windows wampp 或 xampp 中,大小写无关紧要,但您的生产环境必须在 linux 上并且区分大小写,这就是您的原因得到错误。

【讨论】:

    【解决方案2】:

    在创建或调用类时,您必须使用类的首字母大写。 像这样调用你的模型。

    $this->load->model('frontend/User_model');
    

    我也遇到过这个问题。对于 codigniter 3.0 或更高版本中的类,我们必须使用首字母大写。

    【讨论】:

      【解决方案3】:

      你关注Codeigniter User Guide了吗?

      class User_model extends CI_Model {
      
          function __construct()
          {
              parent::__construct();
          }
      }
      

      您的文件将是这样的: application/models/user_model.php

      如果您使用&lt;? 作为开始标签(在文件的开头检查),请将其更改为&lt;?php。服务器可能不允许使用速记样式。

      如果你还是不走运,试试这个:

       $CI =&get_instance();
       $CI->load->model('articles_model');
       $parameter = $CI->articles_model>getarticle($id);
      

      【讨论】:

      【解决方案4】:

      检查型号名称。 localhost 中忽略了区分大小写的名称。但在服务器中,它们被视为不同的文件。我可以看到您的型号名称是user_model。但是模型类是User_model,大写字母。希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-14
        • 2012-08-15
        • 1970-01-01
        相关资源
        最近更新 更多