我可以在数据库中插入多行,但问题是当我尝试更新时,它会给我一条Codeigner错误消息。这是我的模型,实际上我在控制器中没有发现任何重要的错误,因为我只是将该模型加载到控制器中。
$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;
在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。