我可以在数据库中插入多行,但是问题是当我尝试更新它时,我收到一条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;
在您Model接下来的部分应该是
Model
$data[] = array( $code='code' => $_POST['code'][$i], 'price' => $_POST['sell'] );
替换为
$data[] = array( 'code' => $_POST['code'][$i], 'price' => $_POST['sell'] );
并更新您应该使用的值,update_batch而不是insert_batch
update_batch
insert_batch
$this->db->update_batch('yourtableName', $data, 'code'); // 'code' is where key
替换yourtableName为原始表名,并将code其用作where键,因此您无需使用$this->db->where('code',$code)。
yourtableName
code
where
$this->db->where('code',$code)
参考: CodeIgniter 。