我想使用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();
解决了:我无法解决这个问题,但是我制作了一个新项目并复制粘贴了我的代码,现在它工作得很好,所以不知道出了什么问题。
答案 0 :(得分:3)
所有类在第一个字母时应为大写
class Post_model extends CI_Model {
这会在第11行加载模型时抛出错误
答案 1 :(得分:0)
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();
}
}
答案 2 :(得分:0)
我认为您的模型文件扩展名.html
...更改了文件扩展名.php
...
正确:model_file.php
不正确:model_file.html
检查您的文件格式。
答案 3 :(得分:0)
类名必须以大写字母开头,文件名必须与该类的名称相同,扩展名为.php 同时从模型中删除关闭的php标记.codeigniter类文件不需要任何关闭标记。它将由框架自动关闭。