0

アプリのデータベースに、セラピストと患者の 2 種類のユーザー用の 2 つのテーブルがあり、どちらもユーザー名とパスワードでサインイン/サインアウトします。同じユーザー名を持つセラピストと患者が存在できないようにしたいのですが、どのようにそれをしてもいいですか?

また、セラピストと患者の両方に同じセッションコントローラーを使用することは可能ですか?

4

1 に答える 1

1

設計のリファクタリング

ユーザー用に 2 つの異なるテーブルを用意するべきではありません。おそらく、ユーザーの役割を指定するフィールドを持つ単一のユーザー テーブルが必要です。これにより、Web アプリケーションでラジオ ボタンまたはドロップダウンを使用してユーザーのロールを選択することが特に簡単になり、ユーザー レコードの側面に一意性を適用することもできます。

しかし、「ジョン・スミス」という名前の患者が「ジョン・スミス」という名前のセラピストを持つことができないのはなぜでしょうか? その特定の一意性制約を適用する前に、それについて考えます。

最後に、セッションは一般にコントローラー間で共有され、コントローラーは一度に複数のモデルから確実に読み取ることができます。あなたの場合、共通の User モデルにリファクタリングすると、この点で複雑なことをする必要性が減ります。

于 2013-06-02T14:28:11.847 に答える