stryksta / referencenumber
Generate a Reference Number when saving Eloquent models
v1.0.1
2020-01-03 20:41 UTC
Requires
- php: ^7.2
- illuminate/database: ^6.0
- illuminate/support: ^6.0
Requires (Dev)
- orchestra/testbench: ^4.0
This package is auto-updated.
Last update: 2024-04-15 01:05:45 UTC
README
#Laravel Reference Number Trait
Generate a reference number for Invoices, Payment Transactions, Form Submissions, etc
Installation
You can install the package via composer:
composer require stryksta/referencenumber
Options
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. |
Usage
- 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" }
Changelog
1.0.0 - 2020-01-03
- Initial release
Testing
composer test
Contributing
Suggestions, Improvements, and any other comments are welcome!
License
The MIT License (MIT). Please see License File for more information.