CodeIgniter消息:未找到类“模型”

时间:2015-06-03 20:07:43

标签: php codeigniter

大家好我想尝试连接我的数据库以使用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   回溯:

型号: Data_model.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;
        }

    }
}

的观点: home.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>

控制器: site.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);

  }
}

3 个答案:

答案 0 :(得分:2)

确保您的类扩展了基础Model类。在CodeIgniter中,这是&#34; CI_Model&#34; ...

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

答案 1 :(得分:2)

始终确保使用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 :(得分:1)

确保您已加载模型 为了那个原因: 1.open application / config / autoload.php 和 2.使用

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

那是有效的