Я часто использую CodeIgniter 4 для обучения, личных проектов и разработки приложений. В этом посте я расскажу о 2 различных методах, которые вы можете использовать и получить значение MySQL Last Insert ID после выполнения инструкции INSERT в CodeIgniter. Продолжайте читать, чтобы узнать больше…
Самореклама:
Если вам нравится содержание, написанное здесь, обязательно поделитесь этим блогом и своими любимыми сообщениями с другими людьми, которым он также может быть полезен или им понравится. Поскольку кофе - мой любимый напиток, вы можете даже купить мне его, если хотите!
Настройка модели
Вначале я использую функцию Генератор CLI и создаю Модель, выполняя этот код в терминале в корне проекта:
php spark make:model user --suffix
Я удалил большую часть шаблонного кода, сохранив эту простую модель пользователя. Я добавлю больше функций по мере необходимости:
Создание метода Home Controller users ()
При посещении URL-адреса / cicrud / home / users выполняется этот метод users () в файле Home контроллера по умолчанию:
Важный! Предположим, что ассоциативный массив $ data был проверен и обработан перед передачей в метод insert () модели. Всегда проверяйте и дезинфицируйте свои данные!
Вы средний участник? Если это так, получайте уведомление по электронной почте каждый раз, когда я публикую сообщение в блоге, если вы предпочитаете платформу Medium. Не участник? Не стоит беспокоиться! Воспользуйтесь моей регистрационной ссылкой (я получу комиссию без дополнительных затрат для вас) и присоединяйтесь. Мне очень нравится читать там все замечательные материалы, и я знаю, что вы тоже будете !!!
Проверяя данные в таблице пользователя, мы видим, что строка была добавлена:
Иногда, как разработчику, вам нужно захватить значение идентификатора последней вставки из столбца таблицы MySQL, определенного с помощью атрибута AUTO_INCREMENT. MySQL имеет родную информационную функцию LAST_INSERT_ID (), которую вы можете использовать в запросах и получать это значение.
Если вы используете CodeIgniter 4, вы можете использовать несколько различных методов, в зависимости от того, как вы вставляете данные, что позволяет получить значение идентификатора последней вставки. Я расскажу о них обоих в этом посте.
CodeIgniter 4 Модель getInsertID () метод
Модели CodeIgniter 4 имеют встроенные методы для обработки большинства операций CRUD, необходимых в приложении.
Я писал о методе insert () модели CodeIgniter 4 в этой средней публикации, CodeIgniter 4 CRUD Series с MySQL: Create.
Если вы вставили новую строку с помощью метода Model insert () и вам нужно значение Last Insert ID, как вы можете его получить?
Вы можете вызвать метод Model getInsertID () в вашем текущем экземпляре Model и получить значение.
На момент написания я не нашел официальной документации по этому методу. Для целей этого сообщения в блоге я использую этот пост, который я нашел на Stackoverflow. Не стесняйтесь предоставлять соответствующие ресурсы или ссылки в комментариях ниже для этого метода CodeIgniter 4.
См. Обновленный метод users () ниже и код:
Еще раз просмотрев таблицу пользователя, вы также увидите значение:
Я пишу еженедельное электронное письмо о SQL / PHP, которое я изучаю, изучаю и интересуюсь. Если это похоже на то, частью чего вы хотели бы стать, узнайте больше об этом здесь. Спасибо!
CodeIgniter 4 Конструктор запросов insertID ()
В файле модели UserModel я создал этот метод dataInsert ():
Используя Класс построителя запросов, мы можем INSERT получить значение идентификатора последней вставки, используя встроенный метод $ builder insertID (), который вызывается в Экземпляр подключения $ db.
В Home Controller я отредактировал метод users (), чтобы использовать метод UserModel dataInsert (), показанный в этом фрагменте кода.
Опять же, при посещении URL-адреса / cicrud / home / users выполняется метод users () Home Controller. Однако в этом случае метод insertID () построителя запросов извлекает значение идентификатора последней вставки вместо метода getInsertID () модели.
Вот и все. Два способа получить значение идентификатора последней вставки в CodeIgniter 4. Если вы знаете какие-либо другие, поделитесь ими в комментариях ниже, чтобы я и другие читатели тоже знали о них. Спасибо!
Похожие сообщения в блоге с идентификатором последней вставки
Я написал несколько сообщений в блоге о MySQL Last Insert ID, охватывающих несколько различных сред / языков, и хочу поделиться ими ниже со всеми заинтересованными читателями. Пожалуйста, поделитесь и ими! Спасибо!
- Атрибут MySQL AUTO_INCREMENT
- Метод MySQL Shell get_auto_increment_value () - режим Python
- Метод PHP PDO lastInsertId ()
- Атрибут столбца AUTO_INCREMENT в MySQL - начальная перспектива
Если у вас есть вопросы или вы видите ошибки в коде, дайте мне знать в комментариях. Конструктивные комментарии помогают мне составлять точные сообщения в блоге и очень ценятся. Спасибо за чтение!
Нравится то, что вы прочитали? Видите что-нибудь неправильное? Прокомментируйте, пожалуйста, ниже и спасибо за чтение !!!
Призыв к действию!
Спасибо, что нашли время прочитать этот пост. Я искренне надеюсь, что вы открыли для себя что-то интересное и поучительное. Пожалуйста, поделитесь своими выводами здесь с кем-нибудь, кого вы знаете, кто тоже получит от этого такую же ценность.
Посетите страницу Портфолио-проекты, чтобы увидеть сообщения в блоге / технические статьи, которые я написал для клиентов.
Если вам нравится мой контент, выразите свою признательность за чашечкой кофе.
Чтобы получать уведомления по электронной почте (Никогда не спамить) от этого блога (Проза цифровой совы) о последних публикациях в блоге по мере их публикации, пожалуйста, подпишитесь (по собственному желанию), нажав кнопку Нажмите, чтобы подписаться! На боковой панели на домашняя страница! (Не стесняйтесь в любое время просмотреть страницу политики конфиденциальности Digital Owl's Prose по любым вопросам, которые могут у вас возникнуть: обновления по электронной почте, подписка, отказ, контактные формы и т. Д.)
Обязательно посетите страницу Best Of, где собраны мои лучшие сообщения в блоге.
Джош Отвелл хочет учиться и расти как разработчик SQL и блогер. Другие любимые занятия находят его, уткнувшись носом в хорошую книгу, статью или командную строку Linux. Среди них он разделяет любовь к настольным ролевым играм, чтению фэнтезийных романов и проведению времени с женой и двумя дочерьми.
Отказ от ответственности: примеры, представленные в этом посте, представляют собой гипотетические идеи о том, как достичь аналогичных результатов. Это не самое лучшее решение. Большинство, если не все, из представленных примеров выполняются в среде рабочей станции для личного развития / обучения и не должны считаться производственными или готовыми к использованию. Ваши конкретные цели и потребности могут отличаться. Используйте те методы, которые лучше всего подходят для ваших нужд и целей. Мнения мои собственные.
Первоначально опубликовано на https://joshuaotwell.com 20 октября 2021 г.