是否有任何codeigniter功能来执行此操作?
答案 0 :(得分:12)
答案 1 :(得分:8)
没有特殊功能。但是你可以获得刚刚插入的行的id,然后获取它的数据:
$this->db->insert('table_name', $data);
$id = $this->db->insert_id();
$q = $this->db->get_where('table_name', array('id' => $id));
return $q->row();
答案 2 :(得分:2)
插入后使用Active Record方法。返回上次插入的id
function insert($data)
{
$this->db->insert('tablename', $data);
return $this->db->insert_id();
}
Here是参考
答案 3 :(得分:2)
我有给你的提示。如果要插入数据,请返回数据数组,然后进行编辑。
public function set_alb_photos() {
$data = array(
'alp_title' => $this->input->post('alp_title'),
'alp_file_location' => $this->input->post('alp_file_location'),
'alp_album_id' => $this->input->get('alb_id'),
'alp_created_at' => date("Y-m-d H:i:s"),
'alp_updated_at' => date("Y-m-d H:i:s")
);
$this->db->insert('alb_photos', $data);
return $data;
}
我希望这有帮助。
答案 4 :(得分:1)
这将帮助您从表格中获取最后一行。
$last = $this->db->order_by('id',"desc")->limit(1)->get('tablename')->row();
print_r($last);
答案 5 :(得分:1)
您可以通过以下代码获取插入的数据,
$query = $this->db->get_where('table1', array('id' => $id)); //get inserted data
return $query->result_array();
引用:https://www.codeigniter.com/user_guide/database/query_builder.html
答案 6 :(得分:0)
怎么样:
$this->db->get('mytable', 1,0)
答案 7 :(得分:0)
仅在有效的codeigniter记录下尝试此操作。这段代码为您提供了表格的最后一行。
$this->db->limit(1);
$this->db->order_by('id','desc');
$query = $this->db->get('tablename');
return $query->result_array();
答案 8 :(得分:0)
根据选项尝试此操作并返回:
$data = {} //your array;
// now if your $data array contained all the values of the new row just do this
function yourFunction(){
// insert into array into db
$this->db->insert('table_name', $data);
// get created rows id
$id = $this->db->insert_id();
// update your $data array with the new generated id and return it
$data['id'] = $id;
return $data;
}
// Option 2: if row has fields that auto populates (example current timestamp)
function yourFunctionAlt(){
// insert into array into db
$this->db->insert('table_name', $data);
// get created rows id
$id = $this->db->insert_id();
// get row as a array
$_rowArray = $this-db->get_where('table_name',array('id'=>$id)->row_array();
return $_rowArray;
// or get as a object
$_Object = $this->db->get_where('table_name',array('id'=>$id);
return $_Object;
}