欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-15 10:37:20
github地址: https://github.com/emadadly/laravel-uuid.git 1、安装依赖 composer require emadadl...

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

1、安装依赖

composer require emadadly/laravel-uuid

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

'providers' => [ 
         ... 
         emadadly\laraveluuid\laraveluuidserviceprovider::class,
        ],

3、然后根目录执行

php artisan vendor:publish --provider="emadadly\laraveluuid\laraveluuidserviceprovider"

执行完的效果是:在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';

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