2013-04-22 48 views
0

如果我不想讓用戶可以創建的繼續ID(從那時起他可以看到之前創建了多少個),是否可以更改創建這些密鑰的蛋糕策略?配置創建ID的策略

我只是不希望用戶知道「成功」或不是項目是如何。

+0

你可以使用UUIds。 Cake本身就支持這些。這些都是隨機的36個字符串,這些字符串非常有效地隱藏了計數。 – mark 2013-04-22 08:52:17

+0

參見[uuid v4 generation](http://stackoverflow.com/questions/2040240/php-function-to-generate-v4-uuid/15875555#15875555)。 – 2013-04-22 08:58:46

回答

1

的UUID是天然地由濾餅支持的可能的方式http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions

主鍵char36字段將自動使用那些的UUID。

優點:

  • 順序不一定是正確的了:在整個應用程序
  • 斗篷非常有效計數(你的主要目標)

缺點

  • 獨特性(依賴於創建?),特別是批量導入和多個創建的日期。
  • 需要更多的空間並且讓你的查詢更慢。

例子:

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

另一種方法是使用蛞蝓爲您的用戶創建的內容始終是指,只有他們的蛞蝓(從未ID)。這樣,自動增加的主鍵仍然可以用於內部查找和連接等,但前端永遠不會真正看到id,因爲slug是主查找字段。不過,不要忘了索引這個slug字段,因爲字符串查找比比較快。