Codeigniter insert_id возвращает ноль, если база данных уже первичная и автоматически увеличивается - PullRequest
0 голосов
/ 05 августа 2020

У меня есть приложение Codeigniter, в котором я использовал теги. У меня есть код, который добавляет новые теги и вставляет его в базу данных, и, вставляя, я хочу получить insert_id тега, который будет вставлен в реляционную таблицу. У меня нет проблем со структурой таблицы. Вот моя структура таблицы:

Таблица тегов:

введите описание изображения здесь

Моя проблема связана с этим кодом: я не знаю, почему он возвращает нулевое значение insert_id, но когда я смотрю в базу данных, он был правильно вставлен из таблицы тегов.

Вот мой код:

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);
    }
}

1 Ответ

2 голосов
/ 05 августа 2020

Попробуйте

$ 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);
    }
}
...