- 203 名前:デフォルトの名無しさん [2007/01/30(火) 23:09:50 ]
- オブジェクト指向プログラム初心者なんですけど
悩んでるんでアドバイス頂けませんでしょうか? 良くあるケースだと思うのですが DBに、n:nの関係の2つのテーブル(AとB)があって、 間に、お互いのIDの主キーにした関連付け用テーブルCがあるとして Bのテーブルの、あるIDとあるIDを持っているAの列(カラムは全部)取得した時、 結果を配列(又は配列オブジェクト)で取得するじゃないですか? で、しかもCにある情報も使いたい時って取得した配列を回して、 また、DBにCの情報を要求しなきゃならないじゃないですか? 例えば食べ物屋(テーブルA)をメニュー(テーブルB)で検索して、 メニューそれぞれの値段(テーブルC)も取得する時、などをイメージしてもらえると良いと思います。 この時shop_classに色々な条件で検索して配列を返すメソッドを実装するのが良いのでしょうか? 私が思いついたのはshop_classには一件分の店データ(店データと複数のメニューデータ) を取得するメソッドのみを実装して、別のクラス(例えばshop_search_class)で関連付けテーブルから 条件にあった店のIDのみを取得して、その配列を回してshop_classのメソッドを実行して最終的な データを得るのは方法なのですが、変でしょうか? なんか無駄なDBへの問い合わせが一回多いようにも思われるし、 すごい感覚的な物なのですが、 一件分のデータを得るクラスと複数の店を検索してリストを得るクラスを 同じクラスにするのになんか抵抗があった物で。 ご意見ありましたらお願い致します。 長文すいません。
|

|