在 Laravel 7 中优雅使用 UUID 教程

本文介绍了如何在 Laravel 7 中使用 UUID 作为主键,详细阐述了更改数据库迁移,创建 Trait 以自动分配 UUID,以及处理 UUID 在外键和多态关系中的应用,旨在帮助开发者实现更安全、难以猜测的标识符。
摘要由CSDN通过智能技术生成

最近我不得不在 Laravel 7 实现 通用唯一识别码 ( UUIDs ),并遇到一些问题。我希望这帖子可为其他正在做相同事情的人解惑。

使用 UUIDs 的高级理由

A) 它们从你的 统一资源定位符 移除编号的 身份识别号 ,故用户不能看到你的应用已创建多少确定的对象。例如:

https://myapp.com/api/users/5 

对比:

https://myapp.com/api/users/0892b118-856e-4a15-af0c-66a3a4a28eed

B) 它们让 身份识别号 远难于猜测。这有益于安全性,但我们可能应当实现其他技术以防范之。

作为主键实现 UUIDs

如何改变数据库迁移

首先,在数据库迁移中,你要将当前自动递增的 ID 字段替换为 UUIDs 。你还可以遵循以下方法:保留自动递增 ID 并将 UUID 作为表中的附加字段,在用户展示 URL 时使用 (在这种情况下,你将 ID 隐藏到模型中),但这不是我们能在这里做的。 让我们看看假设的 employees 表是什么样子的。

public function up()
 {
 Schema::create('employees', function (Blueprint $table) {
 $table->uuid('id')->primary;
 $table->string('name');
 $table->string('email')->unique();
 $table->string('work_location')->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值