如何解决Codeigniter Bootstrap同时添加和编辑记录
我有一个与Codeigniter项目相关的MySQL表,该表用于维护文件的详细信息,如下所示(tbl_documents):
user@disp3221:~$ sudo python3 -m pip install fuckit
Collecting fuckit
Downloading https://files.pythonhosted.org/packages/cc/f4/0952081f9e52866f4a520e2d92d27ddf34f278d37204104e4be869c6911d/fuckit-4.8.1.zip
Building wheels for collected packages: fuckit
Running setup.py bdist_wheel for fuckit ... done
Stored in directory: /root/.cache/pip/wheels/a9/24/e6/a3e32536d1b2975c23ac9f6f1bdbc591d7b968e5e0ce6b4a4f
Successfully built fuckit
Installing collected packages: fuckit
Successfully installed fuckit-4.8.1
user@disp3221:~$
user@disp3221:~$ ./test.py
two
user@disp3221:~$
下表(tbl_subjects)引用了subject_id:
+-----+---------+-------+------------+-----------+--------+---------+--------+
| id | file_no | name | subject_id | folder_no | row_no | rack_no | status |
+-----+---------+-------+------------+-----------+--------+---------+--------+
| 100 | GSP/01 | Test | 1 | 1 | 1 | 2 | 1 |
| 101 | GSP/02 | Test1 | 2 | 2 | 1 | 3 | 1 |
| 102 | GSP/03 | Test2 | 1 | 2 | 1 | 3 | 1 |
| 103 | GSP/04 | Test3 | 3 | 2 | 2 | 1 | 1 |
| 104 | GSP/05 | Test4 | 4 | 1 | 1 | 1 | 1 |
+-----+---------+-------+------------+-----------+--------+---------+--------+
插入,更新和删除记录工作正常。如果我使用tbl_subject中现有的subject_id编辑记录,则该功能正常运行。但是我想在tbl_documents表中编辑一条记录,同时在tbl_subject表中插入新主题时,该功能无法正常工作(我的要求)。我的问题主要是针对subject_id。我在控制器中使用了以下几行。
控制器
+------------+--------------+--------+
| subject_id | subject_name | status |
+------------+--------------+--------+
| 1 | A/01 | 1 |
| 2 | A/02 | 1 |
| 3 | A/03 | 1 |
| 4 | B/01 | 1 |
| 5 | B/02 | 1 |
| 6 | C/01 | 1 |
+------------+--------------+--------+
Documents_model
public function store($id = null)
{
$this->form_validation->set_rules('name',"File/Document Name",'required');
if ($this->form_validation->run()) {
$subject_id = $this->input->post('subject_id');
$sub_data = [];
$sub_data = array(
'subject_name' => $subject_id,'status' => 1
);
$data = array(
'file_no' => $this->input->post('file_no'),'name' => $this->input->post('file_name'),'subject_id' => $this->input->post('subject_id'),'folder_no' => $this->input->post('folder_no'),'rack_no' => $this->input->post('rack_no'),'row_no' => $this->input->post('row_no'),'status' => 1
);
}
if ($this->form_validation->run() && $this->documents_model->save($data,$id,$sub_data)) {
if ($id)
$message = 'File/ Document Details have been Updated successfully..!!';
else
$message = 'File/ Document details have been saved successfully..!!';
$this->session->set_flashdata('message',$message);
redirect('documents');
} else {
redirect('documents');
}
}
视图的主题部分
public function save($item,$sub_data = [])
{
$this->db->trans_start();
if (!empty($sub_data)) {
$this->db->insert('tbl_subjects',$sub_data);
$data['subject_id'] = $this->db->insert_id();
}
if ($id) {
$this->db->update('tbl_documents',$item,array('id' => $id));
} else {
$this->db->insert('tbl_documents',$item);
}
$this->db->trans_complete();
return $this->db->trans_status();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。