Я могу вставить несколько строк в базу данных, но проблема в том, что когда я пытаюсь ее обновить, это дает мне сообщение об ошибке Codeigniter. Вот моя модель, на самом деле у меня нет ничего существенного в контроллере, чтобы найти ошибку, потому что я просто загружаю эту модель в контроллер.
$data = array(); //$todayDate = date('Ym-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
используется для ключа, поэтому вам не нужно использовать $this->db->where('code',$code)
.
Ссылка: CodeIgniter .