In CodeIgniter 3.1.3 I CI_Model in application/Kern erweitert/MY_Model.php:
class MY_Model extends CI_Model {
public function __construct($id = NULL) {
parent::__construct();
$this->load($id);
}
public function load($id) {
$this->db->where('id', $id);
$this->db->limit(1);
$query = $this->db->query($this->_table);
if ($row = $query->result()) {
// @todo Process results
}
// Free the resources.
$query->free_result();
}
}
Meine User_model wie folgt aussieht:
class User_model extends MY_Model {
public function __construct($id = NULL) {
parent::__construct($id);
}
}
I verlängert auch die CI_Controller in application/Kern/MY_Controller wie folgt:
class MY_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('User_model');
}
}
ich automatisch geladen die Datenbankverbindung in applic ation/config/autoload.php als: Ich konnte Migrationen laufen, so dass die Datenbankverbindung korrekt konfiguriert ist
$autoload['libraries'] = array('database');
Ohne den User_model in der Steuerung geladen werden. Aber wenn ich $ this-> load-> model ('User_model') hinzugefügt habe, bekomme ich den Fehler "Undefined property: User_model :: $ db".
Wenn ich User_model erweitern CI_Model läuft es ohne Fehler und mit einem var_dump in der Homepage-Controller zeigt es, dass die Datenbank automatisch geladen wird. Aber sobald ich MY_Model dazwischen setze, ist die Datenbankklasse im Modell nicht definiert und auch $ this-> load im Modell gibt NULL zurück, so dass das Modell als nicht korrekt konstruiert erscheint.
Ich kann mir nur vorstellen, dass dies ein sehr kleiner Fehler ist, aber ich habe es stundenlang mit mehreren Unterbrechungen dazwischen angeguckt und ich sehe es einfach nicht. Kann mir sonst noch jemand helfen?