bahirul / yii2-autonumber
Yii 框架的自动编号扩展 + 增强
1.6
2018-08-09 02:53 UTC
Requires
- yiisoft/yii2: ~2.0
README
用于生成格式化自动编号的 Yii2 扩展。可用于生成文档编号。
此扩展是从 mdm/yii2-autonumber 分支而来,并进行了一些修改。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist bahirul/yii2-autonumber "~1.0"
或将以下内容添加到您的 composer.json
文件的 require 部分中。
"bahirul/yii2-autonumber": "~1.0"
使用方法
通过执行 yii migrate 准备所需的表。
yii migrate --migrationPath=@bahirul/yii2/autonumber/migrations
如果您不想使用数据库迁移,可以手动创建所需的表。
CREATE TABLE auto_number ( "group" varchar(32) NOT NULL, "number" int, optimistic_lock int, update_time int, PRIMARY KEY ("group") );
一旦安装了此扩展,只需修改您的 ActiveRecord 类
public function behaviors() { return [ [ 'class' => 'bahirul\yii2\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 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'
您可以使用此扩展作为验证器,而不是行为
public function rules() { return [ [['sales_num'], 'autonumber', 'format'=>'SA.'.date('Y-m-d').'.?'], ... ]; }