这段 CodeIgniter 代码有什么问题?

What is wrong with this CodeIgniter code?

我正在尝试将一个应用程序的少数功能从一个 CodeIgniter 应用程序移植到另一个现有的 CodeIgniter 应用程序。这两个应用程序本身都运行良好,但是当我添加这个东西时,它会出现以下错误:

Fatal error: Call to a member function order_by() on null in …\application\core\MY_Model.php on line 7

在这个问题中我删除了与错误无关的部分以简化代码。

//MY_Model.php模型文件

<?php
class MY_Model extends CI_Model {
    protected $_order_by = '';

    public function get(){
        $this->db->order_by($this->_order_by);
    }
}

//article_m.php模型文件

<?php
class Article_m extends MY_Model
{
    protected $_order_by = 'pubdate desc, id desc';
}

//frontend.php 控制器文件

<?php
class Frontend extends MY_Controller
{
    function __construct()
    {
    $this->load->model('article_m');  
    }
    function index()
    {
    $this->article_m->get();
    }
}

请帮忙。谢谢!

每当调用任何 $this->db ... 时,您必须确保加载 database 库。请在 application\config\autoload.php 中查看以下内容:

$autoload['libraries'] = array('database');