2

以下を使用して、モデルの構成変数を更新しました。

$this->config->set_item('userid', $user_id);

モデルでエコーすると、設定されていることがわかります。

しかし、コントローラーまたは別のモデルでエコーする場合:

echo $this->config->item('userid');

元の値を示します。

セッション全体でこの構成変数を保存する必要がありますが、セッション変数を使用したくありません。

4

2 に答える 2

5

その構成は、設定したモデルにのみ適用されます。セッションを使用せずにグローバル設定が必要な場合。

コアモデルを作成しapplication/coreて名前を付けることができます

MY_Model

したがって、基本的にMY_Modelは、それを拡張するすべてのモデルに構成を設定することです。

class MY_Model Extends CI_Model
{
  protected $user_id;
  public function __construct()
  {
    parent::__construct();
   $this->config->set_item('userid', $this->user_id);
  }
}

次に、設定を適用するモデルで、モデルを拡張するだけです。お気に入り

Model extends MY_Model
{

  public function test($id)
  {
    $this->user_id = $id;

   }
}

または、上記と同じコアコントローラーを作成できますが、コントローラーをモデルに置き換えて、Codeigniter 拡張コアクラスで詳細を参照してください。

于 2013-04-27T05:37:26.377 に答える
0

構成を初期化してから$this->ci = & get_instance();、次のような値を設定し てみてください$this->ci->config->set_item('userid', $user_id);

私はこれをテストしていません...しかし、うまくいくと思います。

于 2013-04-27T05:52:23.183 に答える