UUID加密:动态路由,关联查询,网站动态

项目基于laravel框架

1、扩展包安装:composer require “webpatser/laravel-uuid:^3.0”

2、添加traits

<?php

namespace App\Models\Traits;

use Uuid;

trait UsesUuid

{

//模型创建之前,自动生成uuid作为值

    public static function boot()

    {

        parent::boot();

        self::creating(function ($model) {

            $model->uuid = (string)Uuid::generate(4);

        });

    }

//获取路径时,不使用id作为参数

    public function getRouteKeyName()

    {

        return 'uuid';

    }

}

3、创建迁移文件

“`

  Schema::create(‘vouchers’, function (Blueprint $table) {

            $table->id();

            $table->uuid(‘uuid’)->index();

            “`

迁移文件中添加uuid类型, 并设置索引index()

4、从表设置迁移文件:主表voucher作为关联主表时。从表的迁移文件需要关联其uuid

“`

public function up()

    {

        Schema::create(‘records’, function (Blueprint $table) {

            $table->bigIncrements(‘id’);//设置长整形并自增,因为记录会很大,需要超大容量

            

              $table->foreignUuid(‘voucher_id’)->reference(‘uuid’)->on(‘vouchers’)

                ->onDelete(‘cascade’)->comment(‘卡券外键‘);//从表设置voucher_id关联主表vouchersuuid列,并设置关联约束

            “`

            

© 版权声明
THE END
喜欢就支持一下吧
点赞5
分享
评论 抢沙发
袁浩的头像孙先森资源|专注优质网络资源教程分享孙先森资源教程

昵称

取消
昵称表情代码图片