wuwx/laravel-autonumber
Laravel AutoNumber
Laravel package to create autonumber for Eloquent model
Installation
You can install the package via composer:
composer require wuwx/laravel-autonumber
Register the ServiceProvider in config/app.php
'providers' => [
// ...
Wuwx\LaravelAutoNumber\AutoNumberServiceProvider::class,
],
Publish the default configuration
php artisan vendor:publish --provider='Wuwx\LaravelAutoNumber\AutoNumberServiceProvider'
Running migration
php artisan migrate
Usage
Your Eloquent models should use the Wuwx\LaravelAutoNumber\AutoNumberTrait trait
The trait contains an abstract method getAutoNumberOptions() that you must implement yourself.
use Wuwx\LaravelAutoNumber\AutoNumberTrait;
class Order extends Model
{
use AutoNumberTrait;
/**
* Return the autonumber configuration array for this model.
*
* @return array
*/
public function getAutoNumberOptions()
{
return [
'order_number' => [
'format' => 'SO.?', // autonumber format. '?' will be replaced with the generated number.
'length' => 5, // The number of digits in an autonumber
],
];
}
}
You can also pass a closure for the format value.
public function getAutoNumberOptions()
{
return [
'order_number' => [
'format' => function () {
return 'SO/' . date('Ymd') . '/?'; // autonumber format. '?' will be replaced with the generated number.
},
'length' => 5, // The number of digits in the autonumber
],
];
}
Saving Model
$order = Order::create([
'customer' => 'Mr. X',
]);
The order_number will be automatically generated based on the format given when saving the Order model.
echo $order->order_number;
// SO/20170803/00001
License
Laravel-autonumber is open-sourced software licensed under the MIT license.
Contributing
Please report any issue you find in the issues page. Pull requests are more than welcome.
Related Packages
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v5.0.0 | ^7.0| | ^6.20| | MIT | |
| v4.0.0 | >=5.6.4 || | ^6.20| | MIT | |
| v3.1.1 | >=5.6.4 || | ^5.0| | MIT | |
| v3.0.0 | >=5.6.4 || | ^5.1| | MIT | |
| v2.0.0 | >=5.6.4 || | ^5.1| | MIT | |
| v1.3.0 | >=5.6.4 || | ^5.1| | MIT | |
| 1.2 | >=5.6.4 || | ^5.1| | MIT | |
| 1.1 | >=5.6.4 || | ^5.1| | MIT | |
| 1.0 | >=5.6.4 || | ^5.4 | MIT |