table; } /** * 获得数据库服务器版本 * @return string */ public function getDbServerVersion() { return DB::getPdo()->getAttribute(\PDO::ATTR_SERVER_VERSION); } /** * 获取表前缀 * @return string */ public function getTablePrefix() { return DB::getTablePrefix(); } /** * 生成一个ID * * @param string $idName 查询唯一ID字段名. * @param integer $length 长度. * @param string $pkValue 主键值. * * @return string */ public static function generateId(string $idName, $length = 8, $pkValue = '') { if ($length <= 3) { $length = 8; } if (!empty($pkValue)) { $uuid = hashEncodeId($pkValue); } else { $uuid = rand_letter(1) . (random($length - 1)); if (self::query()->where($idName, $uuid)->exists()) { // 存在则继续生成,直到新的出现. return self::generateId($idName, $length, $pkValue); } } return $uuid; } }