Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在一个页面上调用多个模型(Codeigniter等价于蛋糕元素)_Php_Codeigniter_Cakephp_Codeigniter 2 - Fatal编程技术网

Php 如何在一个页面上调用多个模型(Codeigniter等价于蛋糕元素)

Php 如何在一个页面上调用多个模型(Codeigniter等价于蛋糕元素),php,codeigniter,cakephp,codeigniter-2,Php,Codeigniter,Cakephp,Codeigniter 2,我刚刚熟悉Codeigniter(2.1.0)并构建了一个简单的站点,它有一个产品表和一个位置表。我遵循了CI文档并成功构建了一个页面来显示每个表中的数据。但我的目标是在主页上显示这两组数据。CakePHP通过“元素”很好地处理了这一点,其中来自无关控制器的数据可以显示在由不同控制器处理的页面上。看起来很简单,我很难找到一个起点 以下是产品控制器的索引功能: public function index() { $data['product'] = $this->product_model-

我刚刚熟悉Codeigniter(2.1.0)并构建了一个简单的站点,它有一个产品表和一个位置表。我遵循了CI文档并成功构建了一个页面来显示每个表中的数据。但我的目标是在主页上显示这两组数据。CakePHP通过“元素”很好地处理了这一点,其中来自无关控制器的数据可以显示在由不同控制器处理的页面上。看起来很简单,我很难找到一个起点

以下是产品控制器的索引功能:

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 controller中调用该模型,然后在上面的$this->functionName()中包含该函数,从而包含了locations模型;
那是行不通的。关于从哪里开始的任何建议?

只需在此方法中加载另一个模型

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');
}

下面是包含模型的过程

  • 包括型号
  • 调用特定方法
  • 是的,您可以尽可能地包括模型

    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');
    }
    

    与此不同的是什么$产品=$this->products->index()$位置=$this->products->index()?谢谢这是一个伟大的开端,值得赞赏。如果我可以问一下视图:从每个模型获得foreach循环调用数据就足够了吗?为了获取结果,您可以对第一个模型执行此操作,对第三个模型执行此操作!成功了!!!我很激动。非常感谢你,哈米德。。。非常感谢你的建议。这是一个赢家——希望它能帮助其他处于类似情况的人。