Моя цель - использовать комбинацию CodeIgniter insert_batch()
и update_batch()
для добавления входящих данных в мою macro_plan
таблицу.
В моем скрипте ниже я пытаюсь запросить базу данных для существующих строк на основе значений sr_no
, затем соответствующим образом вызовите методы пакетных запросов.
function insert_batch($dataSet)
{
$query = $this->db->query("select sr_no from macro_plan");
$data = $query->result_array();
$sr_nos=array();
foreach($data as $key => $value):
$sr_nos[$key]=$value['sr_no'];
endforeach;
$query1= $this->db->query("select * from macro_plan WHERE sr_no IN ('".$sr_nos."')");
$update_query = $query1->result();
if ($update_query->num_rows() > 0) {
$this->db->update_batch($dataSet,$this->macro_plan);//update if ids exist
} else {
$this->db->insert_batch($dataSet,$this->macro_plan);//insert if does not exist
}
}
Однако я получаю ошибку «преобразование массива в строку».
$dataset
будет напоминать следующее:
Array (
[0] => Array (
[quantity_update] => 88
[sr_no] => 2020-11-1
[batch] => Batch 2
[quantity_date_update] => 05-May-20
[inq_id] => 49
)
[1] => Array (
[quantity_update] => 99
[sr_no] => 2020-11-2
[batch] => Batch 1
[quantity_date_update] => 11-May-20
[inq_id] => 49
)
)
Моя структура таблицы выглядит так:
![enter image description here](https://i.stack.imgur.com/ojgs8.png)