在扩展类中找不到CI_Model

时间:2015-06-12 18:51:45

标签: php codeigniter

我无法使用require_once在我的控制器上手动实例化我的模型,以下是问题所在:

控制器

<?php
require_once './application/models/portion/portioncreatormodel.php';
class Payment extends CI_Controller {
  function sample() {
    $pc = new PortionCreatorModel();
    echo 'OK';
  }
}

模型

<?php

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

当我使用$this->load->model('portion/portionCreatorModel')加载此模型时,它可以完美地工作(在控制器或其他模型中),当我使用require_once加载时使用相同的require_once './application/models/portion/portioncreatormodel';它在其他模型中完美运行。 为什么它在控制器上无法正常工作?我在error.log中找到了这个: PHP Fatal error: Class 'CI_Model' not found in /var/www/html/myerp/igniter/application/models/portion/portioncreatormodel.php on line 3

注意:我已经尝试过这个require_once:

require_once APPPATH.'/models/portion/portioncreatormodel.php';

请不要告诉我解决问题的唯一方法是将PortionCreatorModel重命名为Portioncreator_Model,它已经在模型上正常工作,问题出在控制器上。

任何胶水?

1 个答案:

答案 0 :(得分:1)

尝试在控制器中使用它:

<?php
class Payment extends CI_Controller {
  function sample() {
    $this->load->model('PortionCreatorModel', 'pc');
    // Reference by using $this->pc
    echo 'OK';
  }
}

参考:CodeIgniter: Models