无法访问CodeIgniter中从Controller发送到Model的参数

时间:2015-04-22 19:59:59

标签: php codeigniter model-view-controller

我有一个控制器,我试图将一个关联数组传递给我的模型,然后将该数组插入我的数据库中。但是,当我将数组$ finalResults传递给模型时,我尝试在其中访问foreach语句,我得到第一个foreach语句中指示的“为foreach()提供的无效参数”错误。我仍然是codeIgniter的新手,所以我不确定是什么导致了这一点。

我的控制器:

class Test extends CI_Controller {

    public function getResults(){

        $this->load->model('Test_model');
        $this->load->database();

        $finalResults = $this->input->post('answers');

        $data['finalResults'] = $finalResults;

        $this->Test_model->processResults($finalResults);
    }
}

我的模特:

class Test_model extends CI_Model{

  public function processResults($finalResults){

      foreach ($finalResults as $question){
          foreach($question as $key => $value){
             $data_to_insert = array(
               $key => $value
             );
           }
       }
       $this->db->insert('result', $data_to_insert);
   }
}

我知道这与完整的解决方案相差甚远,但这个错误让我无法继续前进。任何帮助,谢谢!提前谢谢!

1 个答案:

答案 0 :(得分:1)

您是否可以尝试确认您确实将关联数组传递到foreach循环?

在循环之前添加is_array()的条件检查。

if(is_array($finalResults))
    foreach($finalResults as $question){
        ....
    }
}