0

以下のコード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;
}

助けてください...

4

1 に答える 1

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');してライブラリ コードにアクセスする必要があります。

これが役立つことを願っています

于 2012-04-11T05:49:07.357 に答える