Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么模型加载在Codeigniter中的第一个?_Php_Codeigniter - Fatal编程技术网

Php 为什么模型加载在Codeigniter中的第一个?

Php 为什么模型加载在Codeigniter中的第一个?,php,codeigniter,Php,Codeigniter,我有一个用户库currentLang,可以检测网站的当前语言。 还有一个模型,它确实请求并从中获取数据 请求基于当前语言。 这是在自动加载中设置的库currentLang。 问题是,首先在Codeigniter中加载所有模型,然后加载库。 所以,当我打开网站时,我会得到一个空页面,因为查询是在没有库中参数的情况下完成的 我必须以这种方式更改什么?先加载哪个并不重要,只要您能够将当前语言id注入CodeIgniter实例中,您就可以了 例如: // Library class CurrentLan

我有一个用户库
currentLang
,可以检测网站的当前语言。 还有一个模型,它确实请求并从中获取数据

请求基于当前语言。 这是在自动加载中设置的库
currentLang
。 问题是,首先在Codeigniter中加载所有模型,然后加载库。 所以,当我打开网站时,我会得到一个空页面,因为查询是在没有库中参数的情况下完成的


我必须以这种方式更改什么?

先加载哪个并不重要,只要您能够将当前语言id注入CodeIgniter实例中,您就可以了

例如:

// Library
class CurrentLang  {

    // A variable that will hold the CodeIgniter object.
    protected $CI;

    public function __construct () {
        $this->CI = get_instance();
        $this->set_language();
    }

    protected function set_language () {
        // Some code to determine which language to set (your logic goes in determine_language method in this class)
        $Language = $this->determine_language();
        // then we inject the language id in the instance as follows.
        $this->CI->CurrentLanguageId = $Language->id;
    }
}

// Model
class Some_model extends CI_Model {

    public function get_posts () {
        $q = $this->db
                ->where('language_id', $this->CurrentLanguageId)
                ->limit(10)
                ->get('posts');

        return $q->result();
    }
}
请记住,在CodeIgniter 3x中,库名称的第一个字母应大写