所以我尝试创建一个库,在其中我可以从我的一个数据表(站点名称,徽标,图标等)中获取一些“全局”数据。
这是我目前的图书馆:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Settings {
//holds the CI instance
//var $ci;
protected $ci;
//the array the settings will be stored as
public $settings = array();
//
public function __construct()
{
//load CI instance
$this->ci =& get_instance();
//fire the method loading the data
$this->get_settings();
}
public function get_settings()
{
$this->ci->load->model('settings_model');
$this->settings = $this->ci->Settings_model->get_list();
return $this->settings;
}
}
?>
这个库应该在我的Settings_model上访问我的方法get_list(),到目前为止它似乎能够这样做(继续阅读)。
这是我的设置模型:
function __construct()
{
parent::__construct();
$this->table = 'ci_settings';
}
public function get_list()
{
$query = $this->db->get($this->table);
return $query->result();
}
现在在我的视图中使用来自数据库的数据而不必在我的所有控制器中声明它们,我只需要这样做(我做了类似于我的菜单库,所以我知道它应该工作):< / p>
<?php echo $this->settings['website_name'] ?>
这是问题,我的库能够访问我的模型,看起来很好(我想),问题出现在它试图访问get_list方法本身时;显然有一些问题返回数据,因为这是我得到的错误:
这不可能就是这样吗?我正在尝试的是为徽标,网站名称等设置全局变量...我敢肯定它不应该那么难但是我有一个试图找出解决办法的***确实很痛苦。
知道我的错误在哪里? 提前谢谢。
答案 0 :(得分:3)
尝试使用小写的S ->settings_model->
,但为什么?
CI在内部保存模型实例,就像使用函数get_instance()