在 CodeIgniter 中update_batch使用多个Where条件面临问题。
未显示任何错误消息。以及数据库的数据未更新。但是单击"提交"按钮后,随着数据成功提交,我会收到闪光消息。但是数据库无法更新。 请告诉我我该怎么办!
控制器------------------------------------
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');
}
}
模态---------------------
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' );
}
您可以使用$this->db->last_query(( 打印查询。我认为您在控制器的条件中遇到了问题,您没有$sFranId传递给模型。
使用此类型的查询
$this->db->query("UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition AND condition2");