WEBアプリのMVCについて質問です。
一般的なフレームワークを用いたMVCについて質問です。
例えばM、これはモデルですね。
普通DBヘの接続はモデルでおこないクエリの発行もモデルで行いますね。
その後、クエリ実行後の結果をコントローラー側に返すと思います。
このとき、普段わたしはモデル上ではDB空の目的のデータをいっさい処理せずそのまま
コントローラに返します。
返り値として、何かしらの一覧データを取得するものとします。例えば
[
{name : "タロウ" , age : "20","town_id" : 10,"city_id" : 49, "prefecture_id" : 23},
{name : "花子" , age : "20","town_id" : 10,"city_id" : 49, "prefecture_id" : 23},
{name : "邦夫" , age : "20","town_id" : 10,"city_id" : 49, "prefecture_id" : 23}
]
といった感じで特定の組み合わせのハッシュを多次元配列(リスト)的にラップしたものがかえりますよね。
そして、上記データをコントーラー側が受け取り、さぁいざビューへと受け渡す際に、どの程度コントローラでデータの
加工を行うものかが気になっています。
たとえば上記データでは「県市町」のデータがユニークなIDとして保持しています。このままでは「タロウ」が
どの住所なのかがわかりません。どこかで「県市町」のデータリストを受け取りループで一致する住所を取得する
必要があります。
それをコントローラあるいはビュー・・・・どちらで行うのがMVCとして正しいのでしょうか?多少のループなら
ビュー側で行うのもありかとおもいますが、はやりビューがループであふれかえるのは作業しにくいですよね。
MVCの基本だとは思いますが、rubyやPHPなど、フレームワークごとの細かい思想はあるでしょうが
一般的なMVCとしてみるとどうでしょうか?
ちなみに、モデル内でjoin などつかって県市町のテーブルをくっつけるのはここでは考えないものとしてください。
個人的にはビュー内では大きなループ一度ですませたいものですが ・・・。