#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. |
- Your model should use the
Stryksta\ReferenceNumber\GenerateReferenceNumber
trait - You should have a field to save the generated reference number to.
Here'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"
}
- Initial release
composer test
Suggestions, Improvements, and any other comments are welcome!
The MIT License (MIT). Please see License File for more information.