我有以下代码访问我的数据库中名为settings
的表,然后创建一个名为data的数组。目前我有它MY_Controller,但我想将它移动到一个库,所以我可以从模型等访问设置。唯一的问题是每次我尝试我得到一个未定义的索引错误。
public function _settings()
{
// select all settings from database
$query = $this->db->query('SELECT * FROM settings');
// get result from database
$this->data = $query->result_array();
foreach($this->data as $setting)
{
// create data variable from database variables
$this->data[$setting['name']] = $setting['value'];
}
// simplify access to urls
$this->data['base_url'] = base_url();
$this->data['site_url'] = site_url();
$this->data['template_url'] = base_url('assets/templates/' . $this->data['template']);
// return array of data
return $this->data;
}
请帮忙......
答案 0 :(得分:0)
在库文件夹中创建设置类后,您的代码必须使用&get_instance()
来访问codeigniter
实例(如下所示)
class settings
{
public function get_settings()
{
$CI = &get_instance();
$CI->load->model('settings_model','sm');
return $CI->sm->settings();
}
}
我的建议是将您的函数名称从_settings
更改为settings
或类似名称,因为在CI 1.7.X
_settings
用于私有函数的$this->load->library('settings');
不公开一个......
在您的控制器中,您必须使用{{1}}来访问您的库代码..
我希望这会有所帮助