2017-11-09 3 views
0

私はMVCモデルを使用して自分のウェブサイトを設計しました。 1つのWebサイトでユーザークラスを作成する方法に関するコードを見て、ユーザー権限とユーザーロールをフェッチするために多くのデータベース操作を行いました。問題は、このクラスをそのまま使用すると、SQL操作はモデルクラス外で行われます。だから私はこのクラスをどのように使うのですか?私はdbを使用するクラスのモデルを作成するか、直接データベース操作を行う必要があります

  • だけ先に行くと、私のユーザーのためのモデルクラスを作成し、このユーザークラスまたは
  • でのMySQLのクエリ
  • 、私のコントローラでデータベース接続オブジェクトを作成し、ユーザークラスに引数として渡す必要がありますこのクラスはコントローラではないため、これは意味をなさないでしょう。

助けてください。

+1

ALCの意味は? – Juan

+0

私は質問 –

答えて

0

3つ目のオプションについては、作成するすべてのモデルに対してコントローラを用意する必要はありません。ユーザーは確かにリレーショナルデータベースモデルのエンティティなので、モデルを作成するのは当然です。

そして、このモデルは、このすべてのパースメントとロールコードを入れるのに適しています。このようにして、あるユーザーが特定のアクションの権限を持っているかどうか、またはその役割を果たしているかどうかをコントローラーがユーザーモデルに尋ねることができます。

+0

を編集したので、ユーザクラス@Danielで 'UserModel()'のオブジェクトを作成してもOKです。 –

+0

はい、確かです。または、ユーザークラスのすべてのロジックをUserModelに入れて、必要な場所にインスタンス化することもできます。この方法では、ユーザークラスはまったく必要なく、UserModelに置き換えられます。 – Daniel

関連する問題