PHP code example of devaspid / laravel-id-generator

1. Go to this page and download the library: Download devaspid/laravel-id-generator library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

devaspid / laravel-id-generator example snippets




return [
    'invoice' => [
        'prefix' => 'INV-{Y}{m}-',
        'padding' => 6,
        'scope' => 'monthly',
    ],

    'transaction' => [
        'prefix' => 'TRX-',
        'padding' => 8,
        'scope' => 'never',
    ],

    'procurement' => [
        'prefix' => 'PRC-{Y}-',
        'suffix' => '-ID',
        'padding' => 5,
        'scope' => 'yearly',
    ],

    'purchase-order' => [
        'prefix' => 'PO-',
        'padding' => 5,
        'scope' => 'daily',
    ],
];

return [

    'invoice' => [
        'prefix' => 'INV-{Y}{m}-',
        'padding' => 6,
        'scope' => 'monthly',
    ],

];

use Devaspid\LaravelIdGenerator\Facades\IdGenerator;

$invoice->number = IdGenerator::generate('invoice');

use Devaspid\LaravelIdGenerator\Facades\IdGenerator;

class Invoice extends Model
{
    protected static function booted(): void
    {
        static::creating(function (Invoice $invoice) {

            if (blank($invoice->number)) {
                $invoice->number = IdGenerator::generate('invoice');
            }

        });
    }
}

$invoice->number = IdGenerator::generate('invoice');

$transaction->reference = IdGenerator::generate('transaction');

$procurement->number = IdGenerator::generate('procurement');

$purchaseOrder->number = IdGenerator::generate('purchase-order');

use Illuminate\Support\Facades\DB;
use Devaspid\LaravelIdGenerator\Facades\IdGenerator;

DB::transaction(function () use ($request) {

    $invoice = new Invoice($request->validated());

    $invoice->number = IdGenerator::generate('invoice');

    $invoice->save();

});

use Devaspid\LaravelIdGenerator\Facades\IdGenerator;

$number = IdGenerator::generate('invoice');

$number = IdGenerator::generate('invoice');

return [

    'invoice' => [
        'prefix' => 'INV-{Y}{m}-',
        'padding' => 6,
        'scope' => 'monthly',
    ],

    'transaction' => [
        'prefix' => 'TRX-',
        'padding' => 8,
        'scope' => 'never',
    ],

    'procurement' => [
        'prefix' => 'PRC-{Y}-',
        'suffix' => '-ID',
        'padding' => 5,
        'scope' => 'yearly',
    ],

    'purchase-order' => [
        'prefix' => 'PO-',
        'padding' => 5,
        'scope' => 'daily',
    ],

];

string IdGenerator::generate(string $name)
bash
php artisan vendor:publish --tag=id-generator-config
php artisan vendor:publish --tag=id-generator-migrations
php artisan migrate
bash
php artisan id-generator:sync
bash
php artisan id-generator:sync