簡體   English   中英

php codeigniter:調用未定義的方法CI_Loader :: model()

[英]php codeigniter: Call to undefined method CI_Loader::model()

我想使用codeigniter制作一個Web應用程序,但是已經有一段時間了,因為我已經使用了它,並且每次嘗試在控制器中加載模型時都會出現錯誤。 我可能正在做一些愚蠢的錯誤,但我不知道這是什么。 所以,如果可以的話,請幫助我。

這是我得到的錯誤:

錯誤

這是我模型的代碼:

<?php 

class post_model extends CI_Model {

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

    function getAllPosts() {
        $this->db->order_by('date', 'desc');
        $query = $this->db->get('post');
        return $query->result();
    }
}
?>

這是我加載模型的控制器代碼:

<?php 

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Post extends CI_Controller {

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

        $this->load->model('post_model');
    }

    public function index() {
        $data['title'] = 'Berichten';
        $data['posts'] = $this->post_model->getAllPosts();

        $this->template->load('posts', $data);
    }
}

自動加載:

$autoload['helper'] = array('url', 'form', 'date');
$autoload['model'] = array();

解決了:我無法解決它,但是我創建了一個新項目並復制粘貼了我的代碼,現在它可以正常工作,所以不知道出了什么問題。

所有類的首字母應大寫

class Post_model extends CI_Model {

在第11行加載模型時會引發錯誤

class post_model extends CI_Model {

    function __construct() {
        parent::__construct();
        $this->load->database();//加上這句
    }

    function getAllPosts() {
        $this->db->order_by('date', 'desc');
        $query = $this->db->get('post');
        return $query->result();
    }
}

我認為您的模型文件擴展名為.html ...更改文件擴展名為.php ...正確: model_file.php錯誤: model_file.html

檢查文件格式。

類名必須以大寫字母開頭,文件名必須與該類的文件名具有擴展名.php並從模型中刪除關閉的php標簽。codeigniter類文件不需要任何關閉標簽。框架自動關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM