0

目標の説明

CakePHP を使用して CMS を作成しようとしています (内部使用のためですが、多くのサイトで使用されます)。

Content一般的なモデルを用意してから、さまざまなユーザー生成コンテンツを用意したいと考えていますtypes

これは簡単に実行できますがcontents、サイトのすべてのコンテンツがそのテーブルに含まれていると、1 つのテーブルが最終的に巨大になります。クエリ時間/サイト速度などを支援するために、テーブルに分割したいと思います。

type私の考え(可能かどうかはわかりません)は、コンテンツのフィールドが「記事」の場合、テーブルを使用する必要があることをCakePHPに何らかの方法で伝えることcontent_articlesです...etcこれらのテーブルはafterSave、新しいcontent_type.

特定のコンテンツタイプが使用するフィールドのオプションを提供するといいでしょう-フィールドを追加/削除することでこれを管理することもできますcontent_fields..データ。

//my thoughts on tables:    
content_types //id, name, description, use_table
content_fields //id, name, content_type_id, required, field_type, max_chars
content_articles //generated by code
content_people //generated by code

質問:

それは可能ですか?これについてもっと良い方法はありますか?

4

1 に答える 1

0

Perhapse use a key value table for content rather than a standard table? The utils plugin from CakeDC can do just that with a supported RDBMS.

Or, you could set this model to use a key value data source like MongoDB, which is a great use case for using NoSQL. I'd probably take that approach if you are talking about massive key value stores and a changing schema. There's a plugin for MongoDb on github.

于 2012-07-21T13:25:35.230 に答える