codeigniter как хранить данные в реальном времени - PullRequest
0 голосов
/ 22 ноября 2018
public function insert_employee($fldCompanyStringID) {

    $fldCompanyID = getCoompanyByStringID($fldCompanyStringID)->fldCompanyID;
    $data = array(
        'fldUserFName' => $this->input->post('fldUserFName'),
        'fldUserBankAccountNumber' => $this->input->post('fldUserBankAccountNumber')
    );
    $data2 = array(
        'fldWorkHistoryCompanyName' => $this->input->post('fldWorkHistoryCompanyName')
    );
    if ($this->db->insert('tblUser', $data)&& $this->db->insert(' tblWorkHistory', $data2)) {
        $this->session->set_flashdata('success_msg', 'New Employee is inserted');
    }
}

Таблица tblUser автоматически генерирует userID.Я хочу взять это userID и сохранить его в tblWorkHistory таблице **

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Здесь транзакции CodeIgniter помогут вам.

https://www.codeigniter.com/user_guide/database/transactions.html

Пожалуйста, используйте этот код -

<?php 

public function insert_employee($fldCompanyStringID) {

    $this->db->trans_start();

    $fldCompanyID = getCoompanyByStringID($fldCompanyStringID)->fldCompanyID;

    /* Insert User */
    $data = array(
        'fldUserFName' => $this->input->post('fldUserFName'),
        'fldUserBankAccountNumber' => $this->input->post('fldUserBankAccountNumber')
    );
    $this->db->insert('tblUser', $data)
    $insert_id = $this->db->insert_id();

    /* Insert Work History */
    $data2 = array(
        'userID' => $insert_id,
        'fldWorkHistoryCompanyName' => $this->input->post('fldWorkHistoryCompanyName')
    );
    $this->db->insert('tblWorkHistory', $data2)

    /* Manage Transaction */
    $this->db->trans_complete();
    if ($this->db->trans_status() === FALSE){
        $this->session->set_flashdata('error_msg', 'Failed, please try again');
    }else{
        $this->session->set_flashdata('success_msg', 'New Employee is inserted');
    }

}

?>
0 голосов
/ 22 ноября 2018
$this->db->insert_id() is used to get the last insert auto increment id data.

$this->db->insert('tblUser', $data);
$insert_id = $this->db->insert_id();

if($insert_id) {
    $data2 = array(
        'userID' => $insert_id,
        'fldWorkHistoryCompanyName' => $this->input->post('fldWorkHistoryCompanyName')
    );

    if ($this->db->insert(' tblWorkHistory', $data2)) {
        $this->session->set_flashdata('success_msg', 'New Employee is inserted');
    }   
} else {
    $this->session->set_flashdata('error_msg', 'Something went wrong');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...