Laravel自动生成UUID,从建表到使用详解

2020-09-03 11:52:45

gitHub地址: https://github.com/EmadAdly/laravel-uuid.git

1、安装依赖

composer require emadadly/laravel-uuid

2、然后在config/app.php的providers里添加ServiceProvider

'providers' => [          ...          EmadadlyLaravelUuidLaravelUuidServiceProvider::class,        ],

3、然后根目录执行

php artisan vendor:publish --provider="EmadadlyLaravelUuidLaravelUuidServiceProvider"

执行完的效果是:在config下生成uuid.php

4、使用

(1)主键id不使用uuid,新建一行储存uuid的列

在config/uuid.php

'default_uuid_column' => 'uuid',

(2) 主键id就直接使用uuid

在config/uuid.php中将uuid改成id

'default_uuid_column' => 'id',

在migration中建表时:

Schema::create('sys_user', function (Blueprint $table) { $table->uuid('id')->unique();  .... $table->timestamps();});

在实体类如User.php中使用uuid,加入

use Uuids;  .... /**  * Indicates if the IDs are auto-incrementing.  * * @var bool  */ public $incrementing = false;

然后在Controller中在新增数据时id默认可以直接使用uuid

For Example:

 public function store(Request $request)  {    $data = $request->json()->all();    $Article=Article::create($data);    return response()->json($Article);  }

修改自带的created_at和updated_at

  const UPDATED_AT='update_date';  const CREATED_AT = 'create_date';
相关文章 大家在看