在codeigniter 3中扩展模型

时间:2017-02-22 14:50:02

标签: php codeigniter

我在表面上尝试做的事情看似简单,基本的OOP PHP,但我无法让它发挥作用。我有一个控制器类,它正在调用一个模型,该模型扩展了我的另一个模型,但它抛出一个错误,说它无法找到它:

Controller(Welcome.php):

public function __construct()
{
    parent::__construct();
    $this->load->model('users_model');
}

public function index()
{
    $this->users_model->getAll();
}

用户模型(User_model.php):

class Users_model extends Base_model
{

    public function __construct()
    {
        parent::__construct();
    }

}

基础模型(Base_model.php):

class Base_model extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
        $this->load->database();
    }

    public function getAll($table)
    {
        $query = $this->db->query('Query here');
        return $query;
    }
}

这给了我错误Fatal error: Class 'base_model' not found in /ci/application/models/Users_model.php on line 3

2 个答案:

答案 0 :(得分:1)

使用以下代码将Base_model保存在名为application/core的{​​{1}}中。

Base_model.php

class Base_model extends CI_Model { public function __construct() { parent::__construct(); $this->load->database(); } public function getAll($table=FALSE) { $query = $this->db->query('Query here'); return $query; } } 保存在名为User_model的{​​{1}}中,代码为

application/models

然后在User_model.php中创建一个控制器class User_model extends Base_model { public function __construct() { parent::__construct(); } } ,其代码扩展为Welcome.php

appliation/controllers

答案 1 :(得分:0)

您只需在Users_model中找到Base_model,就像下面的代码一样,您可以轻松访问基本模型的功能。

Pattern p = Pattern.compile( "NAME(.*)");
Matcher m = p.matcher(message);
if(m.find()){
    String ausgabe= m.group();
}