CodeIgniter中update_batch处的多个WHERE条件问题

时间:2018-06-07 11:12:56

标签: php codeigniter multiple-conditions batch-updates

在CodeIgniter中的update_batch使用多个 Where 条件时遇到问题。

未显示任何错误消息。 以及数据未在数据库中更新。 但是,在成功提交数据后,点击提交按钮即可向我提供 Flash消息。但数据库无法更新。 请建议我该怎么做!

控制器 ------------------------------------



public function masterPrice_update($m_fran_id = null) 
	{
		$sID   = $this->input->post('m_test_id');
		$sAmt  = $this->input->post('m_updated_test_price');
		$sFranId = $this->input->post('m_fran_id');

		for ($i= 0; $i < count($sID); $i++)
		{
			
			$edited_test[] = array(
				'm_test_id' => $sID[$i],
				'm_updated_test_price' => $sAmt[$i],
				'm_fran_id' => $sFranId[$i]
			);
		}

		if ($this->form_validation->run() === true) {
			$this->franchise_price_model->singlebatch_Test_updt($edited_test);

			$this->session->set_flashdata('message', display('save_successfully'));
			redirect('branch/franchise_price/masterPrice_update');
		}
	}
&#13;
&#13;
&#13;

模态 ---------------------

&#13;
&#13;
public function singlebatch_Test_updt($edited_test =[], $sFranId ='')
{	
	$this->db
	->where('m_fran_id',$sFranId)
	->update_batch($this->fran_test_pricemaster, $edited_test , 'm_test_id' );
}
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您可以使用$ this-&gt; db-&gt; last_query()来打印查询。我认为你在控制器的条件有问题,你没有将 $ sFranId 传递给模型。

答案 1 :(得分:0)

  

使用此类查询

$this->db->query("UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition AND condition2");