Download the PHP package mdcoderu/sequential-code without Composer
On this page you can find all versions of the php package mdcoderu/sequential-code. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mdcoderu/sequential-code
More information about mdcoderu/sequential-code
Files in mdcoderu/sequential-code
Package sequential-code
Short Description Laravel пакет для генерации последовательных 6-значных кодов для моделей
License MIT
Informations about the package sequential-code
Laravel Sequential Code
Laravel пакет для генерации последовательных -значных кодов для моделей с поддержкой ручного указания кода.
Возможности
- ✅ Автоматическая генерация уникальных 6-значных кодов
- ✅ Возможность ручного указания кода
- ✅ Потокобезопасность через транзакции и блокировки
- ✅ Отдельная таблица счетчиков для каждой модели
- ✅ Конфигурируемые границы кодов
Установка
1. Добавление пакета через Composer
2. Публикация миграции
3. Запуск миграций
Использование
Базовое использование
Примените trait HasSequentialCode к вашей модели:
Теперь при создании новой записи код будет генерироваться автоматически:
Ручное указание кода
Вы можете указать код вручную:
Кастомный ключ счетчика
По умолчанию в качестве ключа счетчика используется имя таблицы модели. Если нужно использовать кастомный ключ, переопределите метод getSequentialCodeKey():
Конфигурация
Пакет имеет конфигурационный файл config/sequential-code.php:
Вы можете опубликовать конфигурацию:
Таблица model_counters
Пакет использует таблицу model_counters для хранения текущих значений счетчиков:
| Поле | Тип | Описание |
|---|---|---|
| key | string (primary) | Уникальный ключ счетчика |
| value | unsigned integer | Текущее значение счетчика |
Ограничения
- Код должен быть 6-значным числом (от 100000 до 999999)
- При достижении максимума (999999) будет выброшено исключение
RuntimeException - Для каждого ключа счетчика хранится отдельное значение
Лицензия
MIT
All versions of sequential-code with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0