我有两张桌子
访问 - id | visit_date | patient_id |笔记| staff_id
visits_procedures - id | visit_id | procedure_id |量
visits_procedures表用于跟踪访问期间执行的过程数。如果我将数据插入到访问表中,它可以正常工作。但是,当我将数据插入到visits_procedures表中时,它无法按预期工作。例如,如果最后一次visit.id = 3,则当我将数据插入到visits_procedures表中时,visit_procedures.visit_id的值也应该是3。但是,当我向visits_procedures表提交数据时,它将visits_procedures.visit_id作为4,因为在访问表中添加了一行,主键自动递增,其他列的值为零。
请您帮我提出一个能按预期工作的解决方案。这是我的代码。
MY_Model
public function insert($data) {
$this->db->insert($table_name, $data);
return $this->db->insert_id();
}
VisitProcedures控制器
function __construct() {
parent::__construct();
$this->load->model(array('admin/vprocedure'));
$this->load->model(array('admin/procedure'));
$this->load->model(array('admin/visit'));
}
public function create() {
if ($this->input->post('procedure_id')) {
$visit_id = $this->visit->insert($data);
$data['visit_id'] = $visit_id;
$data['procedure_id'] = $this->input->post('procedure_id');
$data['quantity'] = $this->input->post('quantity');
$this->vprocedure->insert($data);
redirect('/admin/visit-procedures', 'refresh');
}
$procedures = $this->procedure->get_all();
$data['procedures'] = $procedures;
.
.//load view code
.
}
Visit_model
class Visit extends MY_Model {
public function __construct() {
parent::__construct();
}
public function insertar($data) {
$this->db->insert('visits', $data);
$latest_id = $this->db->insert_id();
return $latest_id;
}
}