コントローラのインデックス関数内のデータを初期化しようとしていますので、コントローラの後続の関数で初期化されたデータを使用できます。しかし、問題は、データが他の機能からアクセスしようとしているときに表示されていないことです。このすべては、オブジェクト指向のパターンの一種に従うだけです。インデックス関数内でCodeignieterデータが初期化されていません
ここに私のコードです。
class Dashboard extends CI_Controller
{
private $account_data; /*Declaration*/
private $profile_data;
function __construct() {
// code...
}
function index() /*Here I am initializing data*/
{
$this->load->model('db_model');
$this->account_data = $this->db_model->get_row();
$this->profile_data = $this->db_model->get_row();
$this->load->view('user/dashboard');
}
function function account_details()
{
print_r($this->account_data); // This displays nothing
}
/*other function...*/
}
アイデアは、データを一度取得して他の機能に使用し、データが再度更新された場合、それを初期化するための関数を呼び出します。
しかし、うまくいきません。私を助けてください。また、私が正しいアプローチに従っているかどうかを提案する。 お時間をいただきありがとうございます。
あなたはそれがうまくいかないという意味ですか?アカウントの詳細よりも前にそのインデックスを呼び出す必要がありますか? –
コンストラクタが別のメソッド内からメソッドを呼び出すのでなければ、コントローラ内のメソッドは異なる実行で動作します。ここで、 'index'と' account_details'は別々の 'account_details'実行でアクセスされます。' index'については知りません – Broncha