質問: OrderStatus::getStatus($val->order_number); $html .= '' . '' . $val->order_number . '' // 注文番号 . '' . $val->kubun . '' // 区分 . '' . $status . '' // ステータス . ''; } $html .= ''; ``` --- 長々となりましたが、「うちの開発ルールではこうしている」とか「気にしていない」など、ご教示いただけますと助かります。 以上、よろしくお願いいたします。
回答: ループの回数を減らす目的は@XNXSXMXRさんの中ではっきりしていますでしょうか? そこを示さないと、意にかなった回答を皆さん出来かねるかと思います パフォーマンスの観点を重視するなら、一般に、DBに対して複数回の問い合わせが発生した場合と、プログラミング言語で同数のループが発生した場合、後者の方がパフォーマンスが良いため案1の方が良いです それは例えるなら、同じビル内の部屋を訪れるのと、別の駅にあるビルの部屋を訪れるぐらいの差があります マシンスペックにもよりますが、プログラミング言語のループ処理は数十万回程度であれば一瞬で終わります(稀に例外はあるものの) グーグルなどで検索すればループ回数毎の処理時間の目安がヒットする(はず)ので、一度確認することをお勧めします ViewがDB(のアクセスコード)に直接依存することの是非は結構意見が割れそうな気もしますが、 個人的には、変更の多い不安定なものが、変更の少ない安定したものに依存するのが良い、逆は悪い、というお約束を守って設計することをお勧めします 実際の開発において、ViewはViewの都合で、DBはDBの都合で、頻繁に変更が入ることが多いと思いますので、合間に緩衝材としてControllerを挟むのが無難かと思います また、後々のメンテナンスのことを考えると、Viewのソース内にModelにあるようなコードが存在するのは見る人を混乱させる可能性が高いかな、と思いますし、テストの類もやり難くなりそうだな、とも思いました