0

私は codeigniter を使用しています[HOME]コントローラーに、ユーザーを認証するこのBuildTemplate 関数があります。[AJAXCONT]と呼ばれる別のコントローラーがあります。このコントローラーにはsearch()と呼ばれる関数があり、ビューに検索テーブルを設定するためのデータを返します。$top_bar_data ビューを生成した直後に、そのコントローラのデータを検索機能から取得したいと考えています。これをどのようにコーディングできますか。ここで私のアプローチは正しいですか?

private function BuildTemplate($view, $data) {

    if($this->session->userdata('logged_in_faculty'))
   {
     $session_data = $this->session->userdata('logged_in_faculty');
     $top_bar_data['Firstname'] = $session_data['Firstname'];
     $top_bar_data['Lastname'] = $session_data['Lastname'];

     $master_data['f_top_bar'] = $this->load->view('f_top_bar', $top_bar_data, true);

          //I WANT TO RETURN ALL DATA IN THE AjaxCont controller returned by the search function HERE //

        //$search_data = (all data from my search function in AJAXCONT controller )
    // $master_data['search_results'] = $this->load->view('search_results',    $search_data, true);


   }

else
   {
     //If no session, redirect to login page
     redirect('login', 'refresh');
   }

   return $this->load->view('master', $master_data, true);

}
4

1 に答える 1

1

すべての関数をモデルに移動する必要があります。コントローラーはモデルからデータを取得し、ビューをロードして出力するだけです。CodeIgniter のコントローラーは URI/Routing によってのみ呼び出されます。他の場所からコントローラーまたはコントローラーのメソッドを呼び出すことはできません。

ユーザーと連携するモデルを作成します。これは、検索と同じことを行う 2 つ目のモデルです。次に、コントローラーから、必要な順序でそれらを呼び出します。

于 2012-08-27T01:08:09.817 に答える