如何在Codeigniter活动记录中插入sequence.nextval值?

时间:2017-02-12 06:05:23

标签: php codeigniter oracle10g

这是一个特定的Oracle查询: -

INSERT INTO tbl_admin 
      (admin_id, admin_username, admin_email, 
      admin_password, admin_fname, admin_lname, admin_type) 
VALUES 
      ('TBL_ADMIN_SEQUENCE.nextval', 'saswat2', 'saswat2@gmail.com',
      '$2a$16$y61NYSwQXSRA4m4GoRWJ5OhthFzfZ9e6yp8QcVhBNgSQK16Q.VkXq', 'Saswat', 'Routroy', 0);

现在,要使用Codeigniter活动记录运行此问题,我正在编写此代码: -

    $data = array(
        $this->identifier_field => 'TBL_ADMIN_SEQUENCE.nextval',
        $this->username_field => $username,
        $this->email_field => $email,
        $this->password_field => $password,
        $this->first_name_field => $first_name,
        $this->last_name_field => $last_name,
        $this->type_field => intval($type),
    );

    // If inserting data fails
    if ( ! $this->oracleDB->insert($this->user_table, $data))
    {
        // Return false
        return FALSE;
    }

现在,这给了我一个错误: - enter image description here

我该如何解决这个问题?我知道我可以使用->query()函数编写查询,但我想使用活动记录来完成。

注意: - 我使用的是Oracle 10g快递版。

1 个答案:

答案 0 :(得分:1)

$this->db->set('status', $status);
$this->db->set('ID', "SEQ_ID.NEXTVAL", FALSE); //false escape
$this->db->insert('mytable');