在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;
模态 ---------------------
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;
答案 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");