如何在 CodeIgniter 中从另一个模型继承模型

2024-01-06

我在我的项目中使用 codeigniter,我有一个类模型,我称之为 Genesis,如下所示:

class Genesis_model extends CI_Model {
    function __construct() {
        parent::__construct();
    }

    function get() {
        return 'human soul';
    }
}

我有另一个模型,存储在同一目录中,它扩展了 Genesis_model

class Human_model extends Genesis_model {
    function __construct() {
        parent::__construct();
    }

    function get_human() {
        return $this->get();
    }
}

Human_model 由人类控制器使用

class Human extends CI_Controller {     
    function __construct(){
        parent::__construct();
        $this->load->model('human_model');
    }       

    function get_human() {
        $data['human'] = $this->human_model->get_human();
        $this->load->view('human/human_interface', $data);
    }
}

如果我执行代码,它将产生一个错误,该错误指向返回 $this->get()。它显示“致命错误:在第 2 行 ...\application\models\ human_model.php 中找不到类 'Genesis_model'”。

我使用这种方法是因为几乎所有模型都具有几乎相同的结构。我在 Genesis 中收集了类似的功能,而其他模型仅充当它们所代表的表所特有的数据提供者。它在我的 asp.net (vb.net) 中运行良好,但我不知道如何在 codeigniter 中执行此操作。

Human_model有没有办法继承Genesis_model。我认为我不被允许使用包括('genesis_model.php')。我也不知道它是否有效。

提前致谢。


如果您的模型只有 1 个重要的超类,那么 core/MY_Model 就很好。

如果您想继承多个模型超类,更好的选择是更改自动加载配置。

在 application/config/autoload.php 中,添加以下行:

    $autoload['model'] = array('genesis_model');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CodeIgniter 中从另一个模型继承模型 的相关文章

随机推荐