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 を自動的に使用します。

長所:

  • アプリケーション全体の一意性
  • カウントを非常に効果的にクロークする(主な目的)

短所:

  • 特にバッチインポートと複数の作成日では、順序は必ずしも正しくありません(作成されたものに依存していますか?)。
  • より多くのスペースが必要になり、クエリが遅くなります。

例:

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

別の方法は、ユーザーが作成したコンテンツにスラッグを使用し、常にスラッグのみで参照することです (決して ID ではありません)。このように、自動インクリメントされた主キーは引き続き内部ルックアップや結合などに使用できますが、スラッグがメインのルックアップ フィールドであるため、フロントエンドが実際に ID を確認することはありません。ただし、このスラッグ フィールドにインデックスを付けることを忘れないでください。文字列ルックアップはより高速です。

于 2013-04-22T08:56:38.563 に答える