正在更新Codeigniter中的多行


Updating Multiple Rows in Codeigniter

我可以在数据库中插入多行,但问题是当我尝试更新时,它会给我一条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