Skip to content

Laravel trait that will generate a reference number when saving an Eloquent model.

License

Notifications You must be signed in to change notification settings

strykstaguy/referencenumber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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

  1. Your model should use the Stryksta\ReferenceNumber\GenerateReferenceNumber trait
  2. 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.

About

Laravel trait that will generate a reference number when saving an Eloquent model.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages