現在、CodeIgniter_2.1.4 を学習していますが、php エラーが発生しました。
/data/www/application/core に my_model.php ファイルがあります
<?php
class MY_Model extends CI_Model {
const DB_TABLE = 'abstract';
const DB_TABLE_PK = 'abstract';
private function insert() {
$this->db->insert($this::DB_TABLE, $this);
$this->{$this::DB_TABLE_PK} = $this->db->insert_id();
}
private function update() {
$this->db->update($this::DB_TABLE, $this, $this::DB_TABLE_PK);
}
public function populate($row) {
foreach($row as $key => $value) {
$this->$key = $value;
}
}
public function load($id) {
$query = $this->db->get_where($this::DB_TABLE, array(
$this::DB_TABLE_PK => $id,
));
$this->populate($query->row());
}
public function delete(){
$this->db->delete($this::DB_TABLE, array(
$this::DB_TABLE_PK => $this->{$this::DB_TABLE_PK},
));
unset($this->{$this::DB_TABLE_PK});
}
public function save(){
if(isset($this->{$this::DB_TABLE_PK})) {
$this->update();
}
else {
$this->insert();
}
}
public function get($limit = 0, $offset = 0) {
if($limit) {
$query = $this->db->get($this::DB_TABE, $limit, $offset);
}
else {
$query = $this->db->get($this::DB_TABLE);
}
$ret_val = array();
$class = get_class($this);
foreach ($query->result() as $row) {
$model = new $class;
$model->populate($row);
$ret_val[$row->{$this::DB_TABLE_PK}] = $model;
}
return $ret_val;
}
}
私のドメインモデルは次のとおりです。
<?php
class Publication extends MY_Model {
const DB_TABLE = 'publications';
const DB_TABLE_PK = 'publication_id';
public $publication_id;
public $publication_name;
}
コントローラーでモデルを取得すると、次のphpエラーが発生しました。
PHP Fatal error: Class 'MY_Model' not found in /data/www/application/models/publication.php on line 3
私は理由を見つけるために2時間試みましたが失敗しました):