2

モデルエージェンシーのCMSを構築するプロジェクトがあります。バックエンドやその他の部分は私にとっては問題ありませんが、私が経験していないのはさまざまなユーザーであり、ロジックに行き詰まっています。

私の論理はこれです

次の名前とレベルでグループ テーブルを作成します。

id |    group_id     | level
1  |    Admin        | 20
2  |    Moderator    | 10
3  |    Model        | 1
4  |    Photographer | 1
5  |    Stylist      | 1
6  |    Agency       | 1

グループ ID とユーザー ID は、このようなユーザー グループ テーブルに保存されます。

group_id | user_id
1        |       1
1        |       5
1        |       6
3        |       10

そして、ここで私が行き詰まっているのは、これらのユーザーは異なるデータを持っているため、実際のユーザータイプには必要のないフィールドを非表示にした複数のフォームを作成することを考えていました。誰かがプロファイルを閲覧すると、スイッチグループチェックのために追跡が行われ、異なるプロファイルが表示されます

switch ($user->groupId) {
    case 3:
        // model profile
        break;

    case 4:
        // photographer profile
        break;

    // and others
}

ある意味で良いロジックですか?誰かが私にいくつかの例を示したり、ヒントを教えてくれませんか?

ありがとうございました

編集

私はフレームワークを使用していません。propel に基づいて独自の基本的な cms を作成しました

4

1 に答える 1

0

これを達成するための IMO の最良の方法は、Propel で Single Table Inheritance または Concrete Table Inheritance を使用することです。ここでそれについて読むことができますhttp://propelorm.org/Propel/documentation/09-inheritance.html

于 2014-09-06T06:33:21.703 に答える