0

如果我不想继续为用户可以创建的东西提供 ID(从那时起他可以看到之前创建了多少),是否可以更改创建这些键的蛋糕策略?

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

4

1 回答 1

1

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

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

优点:

  • 整个应用程序的唯一性
  • 相当有效地掩盖计数(你的主要目标)

缺点:

  • order 不再一定是正确的(依赖于 created then?),尤其是批量导入和多个创建日期。
  • 需要更多空间并使查询速度变慢。

例子:

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

另一种方法是为您的用户创建的内容使用 slug,并且始终仅通过他们的 slug 引用该内容(从不通过 id)。这样,自动递增的主键仍然可以用于内部查找和连接等,但是前端永远不会真正看到 id,因为 slug 是主要的查找字段。但是,不要忘记索引这个 slug 字段,因为字符串查找比。

于 2013-04-22T08:56:38.563 回答