1

是的,是的,我已经在整个互联网上搜索过这个问题。发现了一些结果,甚至来自 Stackoverflow。但他们中的大多数人说“你应该自动加载数据库”,或者“parent::__construct();” 像代码。我几乎都试过了。还是没有结果。它简直要了我的命。

我有一个名为“我们”的表。我只需要从中读取数据。

模型: application/models/we_model.php

 class We_model extends CI_Model {

    function __construct() {

        parent::__construct();
        $this->load->database();
    }

    public function get_all_we() {

        $query = $this->db->get('we');
        return $query->result();
    }
}

控制器: applicatoin/controllers/home.php

class Home extends CI_Controller {

    function __construct() {

        parent::__construct();
        $this->load->model('we_model');
    }

    public function index() {

        $data['we_lists'] = $this->we_model->get_all_we();
        $this->load->view('home_template_view', $data);
    }
}

自动加载: application/config/autoload.php

$autoload['libraries'] = array('database', 'session', 'form_validation');

截屏: 错误截图

我正在使用 Codeigniter 2.1.3、Wampserver 2.2e、PhpStorm 5.0.4 并遵循教程。

更新: 我读了这个论坛。他说,在将编辑器从 Eclipse 切换到 Dreamweaver 之后,代码就可以工作了。所以我改变了我的 IDE,从 PHPStorm 到 Sublime text 2。代码现在可以工作了。你可以解释吗?

4

2 回答 2

3

无需调用$this->load->database();您的模型

只需在 autoload.php 中使用它:

$autoload['libraries'] = array('database', 'session');
于 2013-02-26T05:52:43.790 回答
1

如果您没有自动加载数据库库(老实说,您确实应该这样做)更改此行:

$this->load->database();

$this->load->library('database');
于 2013-02-25T19:50:17.713 回答