В insert_id(), получить последний идентификатор вставки в codeigniter extra 1 идет с идентификатором

110
18

При использовании insert_id() для получения последнего идентификатора вставки с инкрементным добавлением, при выполнении echo print($insert_id) в MODEL в CodeIgniter echo print($insert_id) дополнительный 1 с каждым идентификатором.

Например: Мой последний идентификатор Auto Increment в столбце базы данных равен 50 при выполнении echo ($insert_id); он показывает мне 501 как мой последний идентификатор увеличения. Очень странно. Я не мог найти проблему, почему приходит дополнительный 1. Любое предложение, пожалуйста, помогите мне.

Мой Другой вопрос - после получения последнего идентификатора вставки, как получить идентификатор файла контроллера в Codeigniter из Modal File.

модальный

public function create($data = [])
{
$this->db->insert($this->table,$data);
$insert_id = $this->db->insert_id();
echo print_r($insert_id);exit;

//return $insert_id ;
}

спросил(а) 2018-06-12T09:36:00+03:00 3 года назад
1
Решение
63

Надеюсь, что это поможет вам :

Примечание. Используйте только echo чтобы распечатать идентификатор вставки в вашей модели; и чтобы получить идентификатор в контроллере, просто верните $insert_id

Ваша модель должна быть такой:

public function create($data = [])
{
if (! empty($data))
{
$this->db->insert($this->table,$data);
$insert_id = $this->db->insert_id();
return $insert_id;
}
}

В вашем контроллере:

Примечание: убедитесь, что вы загрузили свою модель либо в автозагрузке, либо в контроллере

public function method_name()
{
$data = ['your insert data in array'];
$id = $this->model_name->create($data);
echo $id;//you will get the id;
}

ответил(а) 2018-06-12T09:45:00+03:00 3 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема