在用户表的 username 生成8位不重复的数字
mysql
SELECT FLOOR(RAND() * 999999999) AS random_num
FROM user
WHERE "random_num" NOT IN (SELECT username FROM user)
LIMIT 1
用laravel实现
UserModel.php
use Illuminate\Database\Query\Expression;
$user = new User();
$res = $user->selectRaw("FLOOR(RAND() * 999999999) AS random_num")
->whereNotIn(new Expression('"random_num"'), $user->select('username'))->value('random_num');
返回
float(随机8位数字)