1. ホーム
  2. mysql

[解決済み] Codeigniterのアクティブレコードで、挿入クエリの後に最後の挿入IDを取得する方法

2022-04-23 07:59:20

質問

フォームフィールドをMySQLのテーブルに挿入するための挿入クエリ(アクティブレコード形式)を持っています。挿入操作の最後の自動インクリメントされたidをクエリの戻り値として取得したいのですが、いくつかの問題があります。

コントローラ内部です。

function add_post(){
    $post_data = array(
        'id'            => '',
        'user_id'   =>  '11330',
        'content'   =>  $this->input->post('poster_textarea'),
        'date_time' => date("Y-m-d H:i:s"),
        'status'        =>  '1'
    );
    return $this->blog_model->add_post($post_data);
}

そして、モデル内部。

function add_post($post_data){
    $this->db->trans_start();
    $this->db->insert('posts',$post_data);
    $this->db->trans_complete();
    return $this->db->insert_id();
}

モデルのadd_postの戻り値として、何も得られません。

どうすればいいですか?

これを試してみてください

function add_post($post_data){
   $this->db->insert('posts', $post_data);
   $insert_id = $this->db->insert_id();

   return  $insert_id;
}

複数回挿入する場合は

$this->db->trans_start();
$this->db->trans_complete();