【问题标题】:codeigniter - use model result in controller to process another model querycodeigniter - 在控制器中使用模型结果来处理另一个模型查询
【发布时间】:2013-10-10 08:48:11
【问题描述】:

我有点卡住了。

我有以下控制器功能。这 100% 没有问题。

function new_blank_order_lines() 
{
          $data = array(
           'project' =>$this->input->post('project'),
           'millcoords' => $this->sales_model->get_mill_coords($this->input->post('mill')),
           'custcoords' => $this->sales_model->get_cust_coords($this->input->post('deliveryaddressid')),

          );
    $this->load->view('sales/new_blank_order_lines',$data);

我想做的是将更多模型信息传递给视图。但是,我的问题是我的新模型查询需要以前模型查询的结果。所以我想按如下方式添加到数组中:

   $data = array(
       'project' =>$this->input->post('project'),
       'millcoords' => $this->sales_model->get_mill_coords($this->input->post('mill')),
       'custcoords' => $this->sales_model->get_cust_coords($this->input->post('deliveryaddressid')),
       'customersinrange' =>  $this->sales_model->get_customers_in_range($millcoords,$custcoords),            
      );

所以我想将两个值传递给模型函数 get_customers_in_range。我想传递millcoords的结果和custcoords的结果。

我怎样才能做到这一点,以便控制器可以使用模型查询的结果来执行新的模型查询?

一如既往的感谢, 瑞恩

【问题讨论】:

  • 您可以使用在您使用的模型函数中访问必要的模型函数调用,而不是将一个模型查询的结果用于另一个内部控制器。

标签: php database codeigniter model


【解决方案1】:

试试这个:

function new_blank_order_lines() 
{
    $data                       = array();
    $data['project']            = $this->input->post('project', true);
    $data['millcoords']         = $this->sales_model->get_mill_coords( $this->input->post('mill') );
    $data['custcoords']         = $this->sales_model->get_cust_coords($this->input->post('deliveryaddressid'));
    $data['customersinrange']   = $this->sales_model->get_customers_in_range($data['millcoords'], $data['custcoords']);
    $this->load->view('sales/new_blank_order_lines',$data);

【讨论】:

    【解决方案2】:

    试试这个:

        $millcoords = $this->sales_model->get_mill_coords($this->input->post('mill'));
    $custcoords = $this->sales_model->get_cust_coords($this->input->post('deliveryaddressid'));
        $data = array(
               'project' =>$this->input->post('project'),
               'millcoords' => $millcoords,
               'custcoords' => $custcoords,
               'customersinrange' =>  $this->sales_model->get_customers_in_range($millcoords,$custcoords),            
              );
    

    【讨论】:

      【解决方案3】:
      $millcoords = $this->sales_model->get_mill_coords($this->input->post('mill');
      $custcoords = $this->sales_model->get_cust_coords($this->input->post('deliveryaddressid');
      $customersinrange = $this->sales_model->get_customers_in_range($millcoords,$custcoords);
          $data = array(
                 'project' =>$this->input->post('project'),
                 'millcoords' => $millcoords,
                 'custcoords' => $custcoords,
                 'customersinrange' => $customersinrange,            
                );
      
      
          $this->load->view('sales/new_blank_order_lines',$data);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        • 1970-01-01
        • 2014-01-29
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多