我可以在数据库中插入多行,但问题是当我尝试更新它时会给我一个Codeigniter错误消息。这是我的模型,实际上我在控制器中找不到任何重要的错误,因为我只是在控制器中加载该模型。
$data = array();
//$todayDate = date('Y-m-d');
for($i = 1; $i < count($_POST['code']); $i++) {
//$code=$_POST['code'][$i];
if($_POST['code'][$i] != '') {
$data[] = array(
$code='code' => $_POST['code'][$i],
'price' => $_POST['sell']
);
}
}
$linksCount = count($data);
if($linksCount) {
$this->db->where('code',$code);
$this->db->insert_batch('sell_rate', $data);
}
return $linksCount;
答案 0 :(得分:3)
在Model
后续部分应
$data[] = array(
$code='code' => $_POST['code'][$i],
'price' => $_POST['sell']
);
替换为
$data[] = array(
'code' => $_POST['code'][$i],
'price' => $_POST['sell']
);
并更新您应使用update_batch
代替insert_batch
$this->db->update_batch('yourtableName', $data, 'code'); // 'code' is where key
将yourtableName
替换为原始表名,code
用于where
密钥,因此您无需使用$this->db->where('code',$code)
。
参考: CodeIgniter。