【问题标题】:CodeIgniter Message: Class 'Model' not foundCodeIgniter 消息:找不到类“模型”
【发布时间】:2015-08-18 05:28:50
【问题描述】:

大家好,我正在尝试使用 codeigniter 连接我的数据库以获取一些数据,这是我的代码:

我收到此错误:

致命错误:在第 3 行的 /Applications/MAMP/htdocs/ci/application/models/Data_model.php 中找不到类“模型”

遇到了 PHP 错误

严重性:警告

消息:无法修改标头信息 - 标头已发送(输出开始于 /Applications/MAMP/htdocs/ci/application/models/Data_model.php:3)

文件名:core/Common.php

行号:569

回溯:

遇到了 PHP 错误

严重性:错误

消息:找不到类“模型” 文件名:models/Data_model.php

行号:3 回溯:

型号: 数据模型.php:

<?php 

class Data_model extends Model {


    function getAll(){

        $q  = $this->db->query("SELECT * from data");

        if($q->num_rows() > 0) {

            foreach ($q->result() as $row) {
                $data [] = $row;
            }
            return $data;
        }

    }
}

浏览量: 主页.php

<htmL>

<body>


<div> view has been loaded</div>


<!--<p>  <?php echo $myValue; ?> </p>

<p>  <?php echo $anotherValue; ?> </p> -->



<pre>

<?php foreach ($rows as $r) {
    echo '<h1>' . $r->title . '</h1>';
}
?>
</pre>

</body>


</htmL>

控制器: 网站.php

<?php 

Class Site extends CI_Controller {


  function __construct()
  {
        // Call the Model constructor
        parent::__construct();
  }

  function index(){

    $this->load->model('data_model');
    $data['rows'] = $this->data_model->getAll();

    $this->load->view('home', $data);

  }
}

【问题讨论】:

  • 尝试类 Data_model 扩展 CI_Model。确保您的类扩展了基础模型类。
  • 感谢作品完美

标签: php codeigniter


【解决方案1】:

始终确保使用 CI_Model 扩展模型,因为它会被识别。

 class Model extends CI_Model {

 //you can always put function construct

    public function __construct (){
      parent::__construct ();

   }
}

在你的控制器中:

class Sample extends CI_Controller {
  public function __construct () {
     parent:: __construct();
     //you can load here the model that you will just often so will load it everytime to use it in a function

   $this->load->model('nameofModel');

  }
}

记住:模型或控制器的名称必须与其文件名相同。

【讨论】:

    【解决方案2】:

    确保您的类扩展了基础模型类。在 CodeIgniter 中,这是“CI_Model”...

    class Data_model extends CI_Model {
        // Your model class code here...
    }
    

    【讨论】:

      【解决方案3】:

      确保您已经加载了模型 为了那个原因: 1.打开应用程序/config/autoload.php 和 2. 编辑 $autoload['model'] = array('');

      $autoload['model'] = array('Model');
      

      这很有效

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 1970-01-01
        相关资源
        最近更新 更多