To get unique serial numbers for any record.
Install from composer
composer require lyrasoft/sequence
Then copy files to project
php windwalker pkg:install lyrasoft/sequence -t migrations
You must manually add SequencePackage::class
to etc/di.php
// ...
'providers' => [
\Lyrasoft\Sequence\SequencePackage::class
],
// ...
$sequenceServcie = $app->service(\Lyrasoft\Sequence\Service\SequenceService::class);
$serial = $sequenceServcie->getNextSerial('order', 'FN-'); // 15
$serial = $sequenceServcie->getNextSerialAndPadZero('order', 'FN-', 7); // 0000015
$serial = $sequenceServcie->getNextSerialWithPrefix('order', 'FN-', 7); // FN-0000015