php - 在 Codeigniter 2 中扩展多个模型

标签 php codeigniter codeigniter-2

如何设置 CI2 以允许扩展多个模型?

我只能让它扩展一个名为MY_Model(区分大小写)的模型(放入/application/core)。

选择扩展我正在做的模型; 在模型中..

require_once APPPATH.'core/MY_Another_model.php';
class Test_model extends MY_Another_model {
...
}

我无法在核心系统代码中找到只允许将正在扩展的模型称为 MY_Model 的地方。

感谢您提供的所有帮助。

最佳答案

我已经尝试过 Cubed Eye 的方式,而且它有效,但这里有另一种选择:

尝试将模型添加到您的 autoload.php 文件中。它可以继承自 MY_Model(继承自 CI_Model),并且您加载的任何其他模型都可以继承自它:

class Extended_model extends MY_Model {
    public function __construct()
    {
        parent::__construct();
        $this->load->model('Another_model');
    }
}

(模型/Extended_model.php)

class Another_model extends Extended_model {
}

(模型/Another_model.php)

编辑:我刚刚意识到您将扩展模型放在“核心”文件夹中。这仅对于扩展核心 CI_* 类(即 MY_Controller、MY_Model、MY_Input 等)的类是必需的。如果您有一个模型扩展了 MY_Model,请将其放在您的模型/文件夹中,并且不要在其前面加上“MY_”。

关于php - 在 Codeigniter 2 中扩展多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8136898/

相关文章:

php - 查找多维数组中的重复值

php - 获取最后更新记录的id

php - MySQL 条件用户权限

javascript - 如何在不使用 Google 文档或任何其他查看器平台的情况下在网页中嵌入文档 .docx、.doc 和 .xlsx、.xls

php - 具有多单位支持功能的库存

mysql - 代码点火器 : A Database Error Occurred SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

php - 如何使用php脚本删除目录中的文件

php - Codeigniter session 类禁用特定 Controller

php - 将日期格式更改为数据库值

javascript - 将数据从 JS 传递到 Laravel