Php 配置创建ID的策略

Php 配置创建ID的策略,php,cakephp,cakephp-2.3,Php,Cakephp,Cakephp 2.3,如果我不想给用户可以创建的东西提供持续的id(从那时起,他可以看到之前已经创建了多少),那么有可能改变创建这些键的策略吗 我只是不想让用户知道一个项目是否“成功”。UUID是一种可能的方式,cake本机支持: 主键char36字段将自动使用这些UUID 优点: 整个应用程序的唯一性 非常有效地隐藏计数(你的主要目标) 缺点: 订单不一定再正确了(依赖于当时创建的?),尤其是批量导入和多个创建日期 需要更多的空间,使您的查询速度变慢 例如: 5168a56a-f708-41b3-81ee

如果我不想给用户可以创建的东西提供持续的id(从那时起,他可以看到之前已经创建了多少),那么有可能改变创建这些键的策略吗


我只是不想让用户知道一个项目是否“成功”。

UUID是一种可能的方式,cake本机支持:

主键char36字段将自动使用这些UUID

优点:

  • 整个应用程序的唯一性
  • 非常有效地隐藏计数(你的主要目标)
缺点:

  • 订单不一定再正确了(依赖于当时创建的?),尤其是批量导入和多个创建日期
  • 需要更多的空间,使您的查询速度变慢
例如:

5168a56a-f708-41b3-81ee-2f7152b0caef
...

另一种选择是对用户创建的内容使用slug,并始终仅通过其slug(而不是id)引用该内容。这样,自动递增的主键仍然可以用于内部查找和联接等,但前端永远不会真正看到id,因为slug是主查找字段。不过,不要忘了为这个slug字段编制索引,因为字符串查找速度比。

您可以使用UUID。蛋糕支持那些天生的人。这是一种随机的36字符字符串,可以有效地隐藏计数。另请参见。