php - 如何为数据库中插入的每一行生成一个 15(字母数字)字符长度的唯一字符串?

标签 php mysql forms laravel

<分区>

我正在创建用户并将其保存在我的数据库表中。 我想创建一个名为:haskey 的列,我在其中为每个创建的用户存储一个随机且唯一的 15 位字母数字字符串,以便它对每个用户都是唯一的。我该怎么做?

最佳答案

Laravel 有一个名为 str_random() 的内置辅助函数。您可以使用它来生成 key 。

str_random(15)

或者我建议您使用 laravel hashids.

Laravel 哈希德

在项目的根目录中需要这个包,以及 Composer。

$ composer require vinkla/hashids

将服务提供者添加到 config/app.php 的 providers 数组中。

Vinkla\Hashids\HashidsServiceProvider::class

如果你愿意,你可以使用门面。将 config/app.php 中的引用添加到您的别名数组。

'Hashids' => Vinkla\Hashids\Facades\Hashids::class

用法

// You can alias this in config/app.php.
use Vinkla\Hashids\Facades\Hashids;

Hashids::encode(1);

// We're done here - how easy was that, it just works!
Hashids::decode('doyouthinkthatsairyourebreathingnow');

//这个例子很简单,还有更多可用的方法。

关于php - 如何为数据库中插入的每一行生成一个 15(字母数字)字符长度的唯一字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42338422/

相关文章:

javascript - Internet Explorer 上 .blur 的奇怪行为

php - 使用 mysql 数据库的数据自动完成 jQuery

php - Linkedin API 获取公司的关注者列表

php - 使用 pthreads 在 PHP 中的竞争条件

php - 如何通过php跳过段落中的某些单词

mysql - Sql 一列中有多个 id

php - Laravel 的 eloquent 中有没有办法利用之前的查询条件进一步查询?

javascript - AJAX 表单提交并从浏览器保存密码,如果我重新加载页面则没有 "Confirm form submission"请求

javascript - 必填字段 javascript 将 php 中的下拉菜单标签视为选定选项

php - 如何针对大数据更新和多个 API 调用优化 cron 和 PHP 脚本