如何解决Laravel Hashids-生成重复的哈希
我使用Vinkla\hashids\Facades\hashids
生成哈希ID并将其存储在数据库中。
我使用连接如下:
'connections' => [
\App\Model\MyModel::class => [
'salt' => \App\MyModel::class.'ac81e70581b65c8bdafc495d0083fd56','length' => 16,]
]
然后我使用特征来为我的表生成哈希ID
static function getNextHashId()
{
$data = DB::table("information_schema.TABLES")
->where("TABLE_SCHEMA",env('DB_DATABASE'))
->where("TABLE_NAME",with(new static)->getTable())
->pluck("AUTO_INCREMENT")[0];
return hashids::connection(static::class)->encode($data);
}
这是我编码播种器的方式
for($i=0; $i<MySeeder::$MAXIMUM_PROJECTS; ++$i)
{
MyModel::create(array(
'hash_id'=>MyClass::getNextHashId(),...
...
));
}
我尝试为表创建200行,但是我发现生成的哈希ID是重复的,因此无法将其存储在数据库中。
我的代码有什么问题?库是否可以创建唯一的哈希?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。