Yii フレームワークを使用してインターンシップ用のデータベースとマッチング Web サイトを設計しており、主に PHP で作業しています。私たちの目標は、管理ユーザーが表示したい情報を完全に柔軟にできるようにすることです。そのため、アプリケーションを動的に保つようにしています。このため、アイデアは、コード内ではなく、データベース内のオプション/データに対するものです。現在、作業中のセットアップがありますが、それが正しい方法であるかどうかはわかりません。長文、ごめんなさい。現時点では、次のものがあります。
関係
+ ユーザーHAS MANY
user_phone
+ user_phoneHAS MANY
ユーザー
+ user_phone HAS
user_phone_type
テーブル
user <-- user_phone_assignment --> user_phone --> user_phone_type
user_phone_type
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
limit INT NOT NULL
基本的なユーザー プロファイル情報は user に格納され、家族や兄弟のインスタンスで繰り返されるデータを減らすために、user_phone には潜在的な多対多の割り当てテーブルがあります。user_phone_type のアイデアは、「自宅」、「職場」、「ファックス」、「その他」などの名前を保存することです。
user_phone_type.limit < 0
+ フィールドが無効、actionCreatePhone では表示されない
user_phone_type.limit = 0
+ フィールドが有効、無制限のエントリが許可され、常に表示される
user_phone_type.limit > 0
+ フィールドが有効、count( user_phone) < user_phone_type.limit の間表示される
このシステムは潜在的に実行可能だと思いますが、これがこれを回避するための最良の方法であるかどうかはわかりません. 簡単な関係を維持しながら、アプリケーションを柔軟でデータベース指向に保つための他のオプションはありますか? おそらく、ある種の構成テーブルのセットアップと、構成値をモデルまたはコントローラー内のローカル変数に格納できます。