Codeigniter 2:多次插入和最后插入id

问题描述 投票:0回答:1

Codeigniter 2 是否有更简洁的方法来执行下面代码中所示的操作?

如您所见,我正在尝试通过

POST 将数据插入到 3 个彼此相关的单独表中。

一旦插入

table1

,我想抓取它的 
last insert id
 并将其输入为 
table2_id
table3_id
(外键)的值。

我用谷歌搜索了这个和这个,人们提到了数据库事务,但我想知道是否有一种没有事务的方法。

只是好奇,作为一个

CodeIgniter 新手。

代码如下:

public function create() { $this->load->model('table1'); $this->load->model('table2'); $this->load->model('table3'); //validation goes here $id1 = $this->table1->insert($this->input->post('table1')); $data2 = array_merge($this->input->post('table2'), array('table1_id' => $id1)); $id2 = $this->table2->insert($data2); $data3 = array_merge($this->input->post('table3'), array('table1_id' => $id1)); $id3 = $this->table3->insert($data3); }
    
php codeigniter sql-insert codeigniter-2 bulkinsert
1个回答
1
投票
你有这个功能:

$this->db->insert_id();

它可以在插入后使用,并为您提供插入数据的 id。您始终可以添加 if else 语句来检查是否已正确插入数据并继续其余插入。

© www.soinside.com 2019 - 2024. All rights reserved.