Skip to content
Yii2 extension to generate auto number
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
migrations
AutoNumber.php
AutonumberValidator.php
Behavior.php
Bootstrap.php
README.md
composer.json

README.md

Auto Number Extension for Yii 2

Yii2 extension to genarete formated autonumber. It can be used for generate document number.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist mdmsoft/yii2-autonumber "~1.0"

or add

"mdmsoft/yii2-autonumber": "~1.0"

to the require section of your composer.json file.

Usage

Prepare required table by execute yii migrate.

yii migrate --migrationPath=@mdm/autonumber/migrations

if wantn't use db migration. you can create required table manually.

CREATE TABLE auto_number (
    "group" varchar(32) NOT NULL,
    "number" int,
    optimistic_lock int,
    update_time int,
    PRIMARY KEY ("group")
);

Once the extension is installed, simply modify your ActiveRecord class:

public function behaviors()
{
	return [
		[
			'class' => 'mdm\autonumber\Behavior',
			'attribute' => 'sales_num', // required
			'group' => $this->id_branch, // optional
			'value' => 'SA.'.date('Y-m-d').'.?' , // format auto number. '?' will be replaced with generated number
			'digit' => 4 // optional, default to null. 
		],
	];
}

// it will set value $model->sales_num as 'SA.2014-06-25.0001'

Instead of behavior, you can use this extension as validator

public function rules()
{
    return [
        [['sales_num'], 'autonumber', 'format'=>'SA.'.date('Y-m-d').'.?'],
        ...
    ];
}
You can’t perform that action at this time.