配置创建ID的策略

时间:2013-04-22 07:30:37

标签: php cakephp cakephp-2.3

如果我不想给用户可以创建的东西继续id(从那以后他可以看到之前创建了多少),是否有可能改变创建这些键的蛋糕策略?

我只是不希望用户知道项目是否“成功”。

1 个答案:

答案 0 :(得分:1)

UUID是一种可能的方式,由cake本机支持: http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions

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

优点:

  • 整个应用程序的唯一性
  • 非常有效地披露计数(你的主要目标)

缺点:

  • 订单不一定正确(依赖于创建的?),尤其是批量导入和多个创建日期。
  • 需要更多空间,让您的查询更慢。

示例:

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

替代方案是使用slugs 为您的用户创建的内容,并始终仅通过他们的slug(从不通过id)引用它。这样,自动增量主键仍然可以用于内部查找和连接等,但前端从未真正看到id,因为slug是主查找字段。不要忘记索引这个slug字段,因为字符串查找比。

更快