2009-03-31 6 views
0

私が働いている実装では、表の約10列を使用しています.CUSTOMFIELD1、CUSTOMFIELD2などです。それを見るたびに、より良い方法があるはずです。CMSでさまざまな数のカスタムフィールドを実装するにはどうすればよいですか?

誰もがすべて10を使用するわけではありません。そのうちいくつかは0を使用します。

  1. 以上10カスタムフィールドを:

    だから、より良い方法があれば...理想的に、私はそれができるようにしたいと思います。 理論的には、無限大です。 実際には、15のような気がします。
  2. 各カスタムフィールドには、ユーザーが設定した という名前を付けることができます。
  3. カスタムフィールドタイプを設定できました。 基本的なタイプは文字列と数字です。

これまでは、カスタムフィールドの説明、名前、タイプなどを含むファイルへのパスをXML、JSON、YAMLなどの形式で保存するCUSTOM_FIELDSという名前の列があると考えていました。私はオブジェクトに変換することができます。それはカスタムフィールドの定義に過ぎません。これらのカスタムフィールドを使用するコンテンツをどのように保存するかが問題になります...

とにかく、私の考えが今のところです。何か案は?

PS ---ユーザーに合わせてアプリケーションをカスタマイズすることは、カスタムフィールドに適用するよりも理想的ですが、その贅沢はありません&その他の2つのカスタムフィールドただ動作します。

答えて

1

別のテーブルを作成する - 列のCustomerFields:

  • CUSTOMER_ID(INT)、
  • フィールド(VARCHAR)、
  • 値(VARCHAR)、
  • データ型(VARCHAR)

CustomerFieldsテーブルでcustomer_id = 'CustomerID'のエントリをすべて検索することで、必要な数の変数を割り当てることができます。唯一のことは、実際には値がvarcharではなく、整数であり、解析する必要があるということです。しかし、私はこれは、このスキーマがいかに簡単かを考慮に入れて大きな問題ではないと思う。

+0

ありがとう!それはかなり簡単です:)私が思っていたものよりずっと簡単です! –

0

誰もがすべて10を使用するわけではありません。また、0を使用するものもあります。

クイックヒントは、データベースを正規化したり非正規化したりしないでください。横にスクロールして「man to this big」と考える必要があるためです。このビューはデータベーステーブルの任意のビューです。

+0

:)ありがとう。それはまさに私が思ったものです!私はそれを心に留めようとします –

関連する問題