Codeigniter Rufen Sie an eine member-Funktion Datenbank() on a non-object in
Ja ja ja, ich such schon über ganze internet über dieses problem. Einige Ergebnisse gefunden, auch von Stackoverflow. Aber die meisten von Ihnen sagen, "Sie sollten autoload-Datenbank", oder "parent::__construct();" mag-codes. Ich versuchte fast alle von Ihnen. Immer noch kein Ergebnis. Seine nur, mich zu töten.
Ich habe die Tabelle mit dem Namen "wir". Ich brauche nur das Lesen von Daten von it.
Modell: 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);
}
}
Autoload: application/config/autoload.php
$autoload['libraries'] = array('database', 'session', 'form_validation');
Screenshot:
Bin ich mit Codeigniter 2.1.3, Wampserver 2.2 e, PhpStorm 5.0.4 und folgende diese tutorial.
Update:
Ich lese dieses forum. Er sagte, nachdem er eingeschaltet sein editor von Eclipse, Dreamweaver, code gearbeitet. Also änderte ich meine IDE, von PHPStorm in Sublime text 2. Code funktioniert jetzt. Können Sie das erklären?
- Vielleicht das gleiche Problem wie in dieser Frage?[1] [1]: stackoverflow.com/questions/2686814/...
- Ich bin bereits auf der Suche nach es. Ich fügte hinzu, parent::Model(); aber immer noch die gleiche.
- Ich habe meinen editor. Ich benutzt Sublime Text 2. Jetzt funktioniert es. Was ist passiert!??!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht autoloading die Datenbank der Bibliothek (und ehrlich gesagt, sollten Sie wirklich werden) ändern Sie diese Zeile:
zu
$autoload['libraries'] = array('database', 'session', 'form_validation');
Gibt es keine Notwendigkeit, rufen Sie
$this->load->database();
im Modellverwenden Sie einfach diese in autoload.php: