Generate a Reference Number when saving Eloquent models
stryksta/referencenumber is a Laravel package for generate a reference number when saving eloquent models.
It currently has 1 GitHub stars and 2 downloads on Packagist (latest version v1.0.1).
Install it with composer require stryksta/referencenumber.
Discover more Laravel packages by stryksta
or browse all Laravel packages to compare alternatives.
Last updated
#Laravel Reference Number Trait
Generate a reference number for Invoices, Payment Transactions, Form Submissions, etc
You can install the package via composer:
composer require stryksta/referencenumber
| Option | Type | Default | Description |
| ------------ | ------------ | ------------ | ------------ |
| field | string | reference_number | This is used to identify the field the generated reference number will be saved to. |
| start | integer | 0 | This is where incrementing will start. When generating a reference number this will always increment by 1. So if you start at 0, your first reference will be 1. |
| prefix | string | '' | This is a string you want added in front of every reference number |
| suffix | string | '' | This is a string you want added to the end of every reference number |
| padding | integer | '' | This will pad the reference number to a specified length. For example, setting padding to 3 will generate 001, 002, 003 and so on. |
Stryksta\ReferenceNumber\GenerateReferenceNumber traitHere's an example of how to implement the trait:
<?php
namespace App;
use Stryksta\ReferenceNumber\GenerateReferenceNumber;
use Illuminate\Database\Eloquent\Model;
class SubmissionModel extends Model
{
use GenerateReferenceNumber;
/**
* Get the options for generating a reference number
*/
public function referenceNumberOptions()
{
return [
'field' => 'reference_number',
'start' => 0,
'prefix' => 'S',
'suffix' => '',
'padding' => 3,
];
}
}
public function create() {
$model = new SubmissionModel();
$model->name = 'John Smith';
$model->comment = 'Hello';
$model->save();
echo $model->reference_number; // ouputs "S001"
}
composer test
Suggestions, Improvements, and any other comments are welcome!
The MIT License (MIT). Please see License File for more information.