当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-17 10:36:18 浏览: 评论:0 

今天小编就为大家分享一篇Laravel自动生成UUID,从建表到使用详解,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

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

1、安装依赖

composer require emadadly/laravel-uuid

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

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

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中建表时:

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

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

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

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

For Example:

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

修改自带的created_at和updated_at

const UPDATED_AT='update_date';

const CREATED_AT = 'create_date';

Tags: Laravel自动生成UUID

分享到: