【发布时间】:2020-05-04 22:42:11
【问题描述】:
我使用MVC模型,CodeIgniter框架。当我尝试插入更少(如 9 或 10)行时,我尝试将 14 行插入我的数据库。我不明白其中的逻辑。 $data 数组接受整个 14 行,但由于某种原因,数据库不接受它。
这是控制器:
public function saveFinalShifts(){
$data = array();
$newDate= $this->input->post('week');
$sunday = $this->Shifts_model->getStartDate($newDate);
$dates = array_fill(0,14,$sunday);
$days = $this->input->post('day[]');
$times = $this->input->post('time[]');
$worker_names = $this->input->post('worker_name[]');
if(is_array($dates)){
foreach ($dates as $key => $date){
$data[] = array (
'date' => $date,
'day' => $days[$key],
'time' => $times[$key],
'worker_name' => $worker_names[$key],
);
}
}
$this->session->set_flashdata('success', 'Submitted!');
$this->Shifts_model->saveFinalShifts($data);
redirect(base_url("/Shifts/manageShifts"));
}
这是我的模特:
public function saveFinalShifts($data) {
$this->db->db_debug = FALSE;
$error = NULL;
if (!$this->db->insert_batch('final_shifts', $data)) {
$error = $this->db->error();
}
return $error;
}
当我尝试:echo '<pre>';print_r($data); die;
可以看到,14 行中的每一行都在 $data 数组中。
Array
(
[0] => Array
(
[date] => 2020-05-10
[day] => sunday
[time] => morning
[worker_name] =>victoria
)
[1] => Array
(
[date] => 2020-05-10
[day] => monday
[time] => morning
[worker_name] => victoria
)
[2] => Array
(
[date] => 2020-05-10
[day] => tuesday
[time] => morning
[worker_name] => victoria
)
[3] => Array
(
[date] => 2020-05-10
[day] => wednesday
[time] => morning
[worker_name] => victoria
)
[4] => Array
(
[date] => 2020-05-10
[day] => thursday
[time] => morning
[worker_name] => victoria
)
[5] => Array
(
[date] => 2020-05-10
[day] => friday
[time] => morning
[worker_name] => victoria
)
[6] => Array
(
[date] => 2020-05-10
[day] => saturday
[time] => morning
[worker_name] => victoria
)
[7] => Array
(
[date] => 2020-05-10
[day] => sunday
[time] => evening
[worker_name] => victoria
)
[8] => Array
(
[date] => 2020-05-10
[day] => monday
[time] => evening
[worker_name] => victoria
)
[9] => Array
(
[date] => 2020-05-10
[day] => tuesday
[time] => evening
[worker_name] => victoria
)
[10] => Array
(
[date] => 2020-05-10
[day] => wednesday
[time] => evening
[worker_name] => victoria
)
[11] => Array
(
[date] => 2020-05-10
[day] => thursday
[time] => evening
[worker_name] => victoria
)
[12] => Array
(
[date] => 2020-05-10
[day] => friday
[time] => evening
[worker_name] => victoria
)
[13] => Array
(
[date] => 2020-05-10
[day] => saturday
[time] => evening
[worker_name] => victoria
)
)
【问题讨论】:
-
如果有问题,你不想看看你的
$error变量吗?目前,这被忽略了。如果您要检查错误,您还需要处理它们,即显示它们或记录它们。另外,您的 PHP 和/或 Web 服务器日志也可能会告诉您发生了什么,您看过它们了吗?
标签: codeigniter model-view-controller