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

时间:2021-09-29 05:10:24

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

1、安装依赖

?
1
composer require emadadly/laravel-uuid

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

?
1
2
3
4
'providers' => [
         ...
         Emadadly\LaravelUuid\LaravelUuidServiceProvider::class,
        ],

3、然后根目录执行

?
1
php artisan vendor:publish --provider="Emadadly\LaravelUuid\LaravelUuidServiceProvider"

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

4、使用

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

在config/uuid.php

?
1
'default_uuid_column' => 'uuid',

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

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

?
1
'default_uuid_column' => 'id',

在migration中建表时:

?
1
2
3
4
5
Schema::create('sys_user', function (Blueprint $table) {
$table->uuid('id')->unique();
 ....
$table->timestamps();
});

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

?
1
2
3
4
5
6
7
8
use Uuids;
 ....
/**
 * Indicates if the IDs are auto-incrementing.
 *
 * @var bool
 */
public $incrementing = false;

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

For Example:

?
1
2
3
4
5
6
public function store(Request $request)
 {
   $data = $request->json()->all();
   $Article=Article::create($data);
   return response()->json($Article);
 }

修改自带的created_at和updated_at

?
1
2
const UPDATED_AT='update_date';
const CREATED_AT = 'create_date';

以上这篇Laravel自动生成UUID,从建表到使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_38682852/article/details/79592552