bahirul/yii2-autonumber
最新稳定版本:1.6
Composer 安装命令:
composer require bahirul/yii2-autonumber
包简介
Auto number extension for the Yii framework + Enhacement
README 文档
README
Yii2 extension to genarete formated autonumber. It can be used for generate document number.
This extension forked from mdm/yii2-autonumber with additional features.
Additional Features
- Ability to set db connection (for multiple databases)
public function behaviors() { return [ [ 'class' => 'bahirul\yii2\autonumber\Behavior', 'db' => Yii::$app->db2, // set other database connection rather than default 'attribute' => 'sales_num', // required 'group' => $this->id_branch, // optional 'value' => 'SA.'.date('Y-m-d').'.?' , // format auto number. '?' will be replaced with generated number or you can use " 'value' => function($event){ return 'SA.'.date('Y-m-d').'.?' } " as long the return value contain '?' character 'digit' => 4 // optional, default to null. ], ]; }
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist bahirul/yii2-autonumber "~1.0"
or add
"bahirul/yii2-autonumber": "~1.0"
to the require section of your composer.json file.
Usage
Prepare required table by execute yii migrate.
yii migrate --migrationPath=@bahirul/yii2/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' => 'bahirul\yii2\autonumber\Behavior', 'db' => Yii::$app->db2, // set other database connection rather than default 'attribute' => 'sales_num', // required 'group' => $this->id_branch, // optional 'value' => 'SA.'.date('Y-m-d').'.?' , // format auto number. '?' will be replaced with generated number or you can use " 'value' => function($event){ return 'SA.'.date('Y-m-d').'.?' } " as long the return value contain '?' character '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').'.?'], ... ]; }
统计信息
- 总下载量: 370
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2018-07-20