0

Codeigniter (2.1.0) に慣れ、製品のテーブルと場所のテーブルを持つ単純なサイトを構築しています。CI ドキュメントに従い、各テーブルのデータを表示するページを正常に作成しました。しかし、私の目標は、両方のデータ セットをホームページに表示することです。CakePHP はこれを「要素」で適切に処理します。この要素では、関連のないコントローラーからのデータを別のコントローラーが処理するページに表示できます。シンプルなようで、出発点を見つけるのに苦労しています。

products コントローラーの index 関数は次のとおりです。

public function index()
{
$data['product'] = $this->product_model->get_product();
$data['title'] = 'title of page';

$this->load->view('templates/header', $data);
$this->load->view('product/index', $data);
$this->load->view('templates/footer');
}

私は、products コントローラーでもそのモデルを呼び出す関数を作成することで、位置モデルを含めることにしました。それはうまくいきませんでした。どこから始めればよいかアドバイスはありますか?

4

2 に答える 2

1

モデルを含める手順は次のとおりです

  1. モデルを含める
  2. 特定のメソッドを呼び出す

はい、可能な限りモデルを含めることができます

Public function index()
{
$this->load->model('mymodel');
$this->load->model('mymodel2');
$this->load->model('mymodel3');

$data['product'] = $this->product_model->get_product();
$data['result']    = $this->mymodel->abc();
$data['result2']    = $this->mymodel2->xyz();

$data['title'] = 'title of page';

$this->load->view('templates/header', $data);
$this->load->view('product/index', $data);
$this->load->view('templates/footer');
}
于 2012-08-30T04:11:46.850 に答える
0

このメソッドで他のモデルをロードするだけです

public function index(){
     $this->load->model('products');
     $this->load->model('locations');

     $products = $this->products->index();
     $locations= $this->locations->index();


     $data['products'] = products ;
     $data['locations'] = locations;

     $this->load->view('templates/header', $data);
     $this->load->view('product/index', $data);
     $this->load->view('templates/footer');
}
于 2012-08-30T04:10:42.730 に答える