Php 在Laravel路由中将Id替换为UID

Php 在Laravel路由中将Id替换为UID,php,laravel,Php,Laravel,现在,我所有的路线都是这样的: domain.com/clients/10/edit 我想隐藏代表客户端Id的10,并用通用UID替换它,这样用户就不会访问客户端Id(他可以知道我看到url的客户端有多少) 我看到了一种能产生鼻涕虫的细菌。它很容易实现。我只需更改视图中的引用,并在模型中指定: public function getRouteKeyName() { return 'slug'; } 根据 尽管如此,您可以将资源命名为帖子,但对于分类设置,我不确定这是正确的方式 知道如

现在,我所有的路线都是这样的:

domain.com/clients/10/edit
我想隐藏代表客户端Id的10,并用通用UID替换它,这样用户就不会访问客户端Id(他可以知道我看到url的客户端有多少)

我看到了一种能产生鼻涕虫的细菌。它很容易实现。我只需更改视图中的引用,并在模型中指定:

public function getRouteKeyName()
{
    return 'slug';
}
根据

尽管如此,您可以将资源命名为帖子,但对于分类设置,我不确定这是正确的方式


知道如何生成“数字段塞”吗?

在客户表中创建一个
通用\u id
字段。创建新行时插入唯一的通用id:

$generic_id = range(1000, 20000);
shuffle($generic_id); // so it's unique

// or use uniqid()
自定义模型中的密钥名称:

public function getRouteKeyName()
{
    return 'generic_id';
}