是的是的是的,我已经在整个互联网上搜索过这个问题。一些结果发现,甚至来自 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();
}
}
Controller :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 和以下 this教程。
更新: 我读了this forum .他说,在他将编辑器从 Eclipse 切换到 Dreamweaver 后,代码就可以工作了。所以我改变了我的 IDE,从 PHPStorm 到 Sublime text 2。代码现在可以工作了。你能解释一下吗?
最佳答案
不需要在你的模型中调用$this->load->database();
只需在 autoload.php 中使用它:
$autoload['libraries'] = array('database', 'session');
关于database - Codeigniter 在非对象上调用成员函数 database(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075097/