Codeigniter:CI_Lang子类中的负载模型

Codeigniter:CI_Lang子类中的负载模型,codeigniter,instance,Codeigniter,Instance,我正在使用Jérôme Jaglale编写的i18n库: 在那里,语言存储在库中,存储在如下数组中: // languages var $languages = array( 'de' => 'german', 'en' => 'english' ); function __construct() { parent::__construct(); $CI =& get_instance(); $CI->lo

我正在使用Jérôme Jaglale编写的i18n库:

在那里,语言存储在库中,存储在如下数组中:

  // languages
  var $languages = array(
    'de' => 'german',
    'en' => 'english'
  );
  function __construct()
  {
    parent::__construct();

    $CI =& get_instance();
    $CI->load->model("language_model");
    $languages = $CI->language_model->find_all();

    ...
  }
我要做的是从数据库表中获取这些语言,如下所示:

  // languages
  var $languages = array(
    'de' => 'german',
    'en' => 'english'
  );
  function __construct()
  {
    parent::__construct();

    $CI =& get_instance();
    $CI->load->model("language_model");
    $languages = $CI->language_model->find_all();

    ...
  }
但在尝试获取CI实例时,会出现错误:

PHP Fatal error:  Class 'CI_Controller' not found in .../system/core/CodeIgniter.php on line 233
知道如何在语言库中获取CI实例吗


提前谢谢

最后,我根本没有加载模块。 我只是简单地获取了DB对象并直接执行了查询,如下所示:

$db =& DB();
$db->where('active', 1);
$languages = $db->get('language')->result();

不,试试这个……对我有用

      $CI =& get_instance();

      $CI->load->database();
      $CI->load->model('language_model');
      $lang['welcome_txt_description']=$CI->language_model->get_site_description_language(5,'german');

Buddhika Perera>>>>>斯里兰卡

构造函数位于何处?在什么类型的文件和目录中?文件是/application/core/MY_Lang.php。它是i18n库中的默认MY_Lang文件,加上我在构造函数中放置的3行。实例已经在那里定义。只需使用
$this->load->model()。看起来控制器是在language类之后加载的,所以我必须找到从数据库加载语言的另一种方法。