Codeigniter insert_id 返回零,数据库已经是主数据库并自动递增

Codeigniter insert_id returning zero with database already primary and auto increment

我有一个使用标签的 Codeigniter 应用程序。我有一个添加新标签并将其插入数据库的代码,通过插入,我想获得要插入到关系 table 的标签的 insert_id。我对 table 结构没有问题。这是我的 table 结构:

标签table:

我的问题是这段代码,我不知道为什么它 returns 的 insert_id 为零,但是当我在数据库中查看时,它是从标签 table正确。

这是我的代码:

if (count($user_tags) > 0) {
    foreach ($user_tags as $user_tag) {
        $this->query->insert('tags', array('tag' => $user_tag));
        $new_tag_id = $this->db->insert_id();
        print_r($new_tag_id);
        // $data = array(
        //  'user_id' => $new_user_id,
        //  'tag_id' => $new_tag_id
        // );
        // $this->query->insert('user_tags', $data);
    }
}

尝试

$this->db->insert

而不是

$this->query->insert

if (count($user_tags) > 0) {
    foreach ($user_tags as $user_tag) {
        $this->db->insert('tags', array('tag' => $user_tag));
        $new_tag_id = $this->db->insert_id();
        print_r($new_tag_id);
    }
}