7

Web サイトの URL 'スラッグ'を生成しようとしています。これは、ユーザーが生成した単一のテキストに基づいています。

今、私は独自のスラッグメソッドを作成したので、そのためのコードは必要ありません。

私が疑問に思っているのは、このスラッグが一意であるかどうかを判断して挿入するのに最適な場所はどこかということです。これは、スラッグ フィールドが一意のキー インデックスであるためです。

もともと、私は(テーブルに対して)挿入時にトリガーを持っていたので、データが入力されるとスラッグが決定されます。ユーザーのテキスト (スラッグではない) を含むレコードの数をチェックしてスラッグを生成し、新しいスラッグの末尾にレコード数 + 1 を追加する関数がありました。

例えば。

同じユーザー生成コンテンツを持つ 5 つのレコードがテーブルに見つかりました。これのスラッグは、最後に 6 が追加されたスラッグテキストになりました。

欠点: ユーザーがテキストを変更しても、スラッグは変更されません。

とにかく、他の人が以前にこの問題に取り組んでいて、それを修正する方法を見つけたことがあるかどうか疑問に思っていますか?

4

4 に答える 4

17

私はスタックオーバーフローのやり方が好きです。これは、ID とスラッグの両方を URL に入れることです。これで、スラッグは一意である必要がなくなりました。hulu.comもこのようにしていると思います。問題の実用的な解決策だと思います。

于 2009-01-12T04:39:23.627 に答える
3

ユーザーがタイトルを編集した場合、既に作成された投稿へのリンクが壊れてはならないという理由で、ほとんどのサイトはスラッグを変更しません。

于 2009-01-12T03:45:07.790 に答える