Codeigniter更新批处理错误

时间:2018-05-02 05:41:01

标签: php codeigniter-3

我试图找到解决方案 但我总是得到这个错误

  

您必须指定一个索引以匹配批量更新。

public function editcompanionship()
        {
            $companionship_id = $this->input->post('companionship_id[]');
            $missionary_one_id = $this->input->post('missionary_one_id[]');
            $missionary_two_id = $this->input->post('missionary_two_id[]');
            $missionary_three_id = $this->input->post('missionary_three_id[]');

            $value_batch_update = array();

            for($i=0; $i<count($companionship_id); $i++):
                $value_batch_update[$i] = array(

                    'missionary_one_id'     =>      $missionary_one_id[$i],
                    'missionary_two_id'     =>      $missionary_two_id[$i],
                    'missionary_three_id'   =>      $missionary_three_id[$i],
                    'modified'              =>      date('Y-m-d H:i:s', time()),

                );
            endfor;
            $this->db->where('companionship_id',$companionship_id[$i]);
            $this->db->update_batch('pcdom_companionship',$value_batch_update);
            $this->session->set_flashdata("success",alert("alert-success","Updated Successfully!"));
            redirect(base_url('mrec/companionship'));
            exit();
        }

任何人都可以知道吗?

1 个答案:

答案 0 :(得分:0)

方法 update_batch() 的第三个参数是必需的。

public function update_batch($table, $set = NULL, $index = NULL, $batch_size = 100)
    {
        ....

        if ($index === NULL)
        {
            return ($this->db_debug) ? $this->display_error('db_must_use_index') : FALSE;
        }
        ...