Я хочу создать идентификатор в CodeIgniter, например PTGS-1
, где 1 - это столбец с автоматическим приращением, а PTGS
- из созданной мной функции.
Я создаю 2 столбца, 1только для автоинкремента и 1 для пользовательского идентификатора PTGS-1
.и каждый раз, когда мне нужно вставить данные, столбец с пользовательским идентификатором всегда возвращает PTGS-0
, он не получит идентификатор последней вставки .
это моя функция для пользовательского идентификаторав модели
public function custIdPetugas() {
$prefix = "PTGS" . "-";
$lastid = $this->db->insert_id();
$customid = $prefix.$lastid;
return $customid;
}
и эта функция в модели для обработки пользовательского ввода
public function simpan() {
$custom_id = $this->custIdPetugas();
$post = $this->input->post();
$data = array(
'custom_id' => $custom_id,
'nama_petugas' => $post['nama'],
'username' => $post['uname'],
'password' => password_hash($post['pword'], PASSWORD_DEFAULT),
'tgl_lahir' => $post['tgllahir'],
'alamat' => $post['alamat'],
'no_telpon' => $post['notelpon']
);
$this->db->insert($this->tbl, $data);
}
и контроллера
public function tambahPetugas() {
$petugas = $this->PetugasModel;
$validation = $this->form_validation;
$validation->set_rules($petugas->rules());
if($validation->run()) {
$petugas->simpan();
$this->session->set_flashdata('berhasil', 'Data berhasil ditambah!');
}
$this->load->view('petugas/petugas-tambah');
}
проблема только с этим пользовательским идентификатором,Я могу аккуратно вставить данные из формы в базу данных, но пользовательский идентификатор всегда возвращает 0.
спасибо!