是否有任何 codeigniter 功能可以做到这一点?
问问题
35475 次
9 回答
16
于 2013-01-21T06:22:53.060 回答
9
没有特殊的功能。但是您可以获取刚刚插入的行的 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();
于 2013-10-21T10:06:01.050 回答
2
插入后使用 Active Record 方法。返回最后插入的 id
function insert($data)
{
$this->db->insert('tablename', $data);
return $this->db->insert_id();
}
这里是参考
于 2013-01-21T07:56:43.570 回答
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;
}
我希望这会有所帮助。
于 2015-02-28T07:34:20.843 回答
1
这将帮助您从表中获取最后插入的行。
$last = $this->db->order_by('id',"desc")->limit(1)->get('tablename')->row();
print_r($last);
于 2017-06-08T23:28:51.610 回答
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
于 2019-05-30T08:24:09.923 回答
0
关于什么 :
$this->db->get('mytable', 1,0)
于 2013-01-21T07:10:40.220 回答
0
仅使用 codeigniter 的活动记录尝试此操作。此代码为您提供表格的最后一行。
$this->db->limit(1);
$this->db->order_by('id','desc');
$query = $this->db->get('tablename');
return $query->result_array();
于 2018-10-18T14:49:32.580 回答
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;
}
于 2018-11-28T14:09:47.333 回答