使用单个查询插入 3 个表时,Codeigniter 未显示正确的 insert_id
Codeigniter not showing correct insert_id while inserting 3 tables with single query
我有这个应用程序,我通过一个查询将数据插入到 3 个 table 中,但看起来第二个 table 正在获取从第一个 table 继承的正确 ID,但第三个table 总是少一(id-1)。例如。如果id是372,就会显示371。
请推荐
型号:
function insert_property_details($data) {
// First Table
$insert_property_in_database=array(
'v_item_title' => $this->input->post('v_item_title'),
'v_item_category'=> $this->input->post('v_item_category'),
'v_num_rooms' => $this->input->post('v_num_rooms'),
);
$query=$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
// Second Amenity table
$insert_property_amenities=array(
'v_ref_id' => $this->db->insert_id(),
'v_aircondition' => $this->input->post('v_aircondition'),
'v_handy' => $this->input->post('v_handy'),
);
$query=$this->db->insert('vbc_property_amenities',$insert_property_amenities);
// Third Image table
$insert_images = array(
'property_images' => $data['uploadedimage'],
'property_ref_id' => $this->db->insert_id(),
);
$this->db->insert('vbc_property_images', $insert_images);
return $this->db->insert_id();
}
只有一个insert_id()
然后用一个变量来获取它也不需要$query
来插入。
型号:
function insert_property_details($data) {
// First Table
$insert_property_in_database = array(
'v_item_title' => $this->input->post('v_item_title'),
'v_item_category'=> $this->input->post('v_item_category'),
'v_num_rooms' => $this->input->post('v_num_rooms'),
);
$id = $this->db->insert_id();
$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
// Or have the id just below first insert
// $id = $this->db->insert_id();
// Second Amenity table
$insert_property_amenities = array(
'v_ref_id' => $id,
'v_aircondition' => $this->input->post('v_aircondition'),
'v_handy' => $this->input->post('v_handy'),
);
$this->db->insert('vbc_property_amenities',$insert_property_amenities);
// Third Image table
$insert_images = array(
'property_images' => $data['uploadedimage'],
'property_ref_id'=> $id,
);
$this->db->insert('vbc_property_images', $insert_images);
}
我有这个应用程序,我通过一个查询将数据插入到 3 个 table 中,但看起来第二个 table 正在获取从第一个 table 继承的正确 ID,但第三个table 总是少一(id-1)。例如。如果id是372,就会显示371。
请推荐
型号:
function insert_property_details($data) {
// First Table
$insert_property_in_database=array(
'v_item_title' => $this->input->post('v_item_title'),
'v_item_category'=> $this->input->post('v_item_category'),
'v_num_rooms' => $this->input->post('v_num_rooms'),
);
$query=$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
// Second Amenity table
$insert_property_amenities=array(
'v_ref_id' => $this->db->insert_id(),
'v_aircondition' => $this->input->post('v_aircondition'),
'v_handy' => $this->input->post('v_handy'),
);
$query=$this->db->insert('vbc_property_amenities',$insert_property_amenities);
// Third Image table
$insert_images = array(
'property_images' => $data['uploadedimage'],
'property_ref_id' => $this->db->insert_id(),
);
$this->db->insert('vbc_property_images', $insert_images);
return $this->db->insert_id();
}
只有一个insert_id()
然后用一个变量来获取它也不需要$query
来插入。
型号:
function insert_property_details($data) {
// First Table
$insert_property_in_database = array(
'v_item_title' => $this->input->post('v_item_title'),
'v_item_category'=> $this->input->post('v_item_category'),
'v_num_rooms' => $this->input->post('v_num_rooms'),
);
$id = $this->db->insert_id();
$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
// Or have the id just below first insert
// $id = $this->db->insert_id();
// Second Amenity table
$insert_property_amenities = array(
'v_ref_id' => $id,
'v_aircondition' => $this->input->post('v_aircondition'),
'v_handy' => $this->input->post('v_handy'),
);
$this->db->insert('vbc_property_amenities',$insert_property_amenities);
// Third Image table
$insert_images = array(
'property_images' => $data['uploadedimage'],
'property_ref_id'=> $id,
);
$this->db->insert('vbc_property_images', $insert_images);
}