私はPHPでDAOパターンを使っています。この方法でモデルを分離することで得られるメリットを理解していますが、テーブルが関連エンティティと関連しているときにDAOとVOを構築する方法はわかりませんDAOパターンと関係
例を挙げます:
私のDBで、私は
USERS(id,username);
USERS_POSTS(id_user(FK),id_post(FK));
POSTS(id, title);
USER_COMMENTS(id_user(Fk),id_post(FK));
COMMENTS(id, text);
を持っている私は、対応するセッターとゲッターとPostVOUserVO、を作成し、UserDAOとポストDAOは、最終的にVOを返すSQLを担当しています。 これらのテーブルのデータに対してCRUD操作を実行するのは本当に簡単ですが、テーブルの関連付けや異なるテーブル間のデータの取得について考え始めると、DAOの使用がそれほど簡単ではないと考え始めるときです。
あなたは記事の作者が行ったコメントをすべて返そうと思ったらDAOパターンを整理しますか?私はSQLクエリを必要としません。私はちょうど実際の状況の例としてこれを与えています...
私は、すべての結合テーブルに関連するDAOとVoを持つことをお勧めします。 VOはどのようなものですか?ちょうど2つの外部キーまたは両方のテーブルのすべての属性からですか?
論理が関連エンティティに対してDAOとVOを持っている場合、クエリが2つの関連エンティティを使用して3つ以上のテーブルを "通過"する場合の解決策は何ですか?
I)はDAOパターンがusers_posts_comments_article :)と呼ばれるオブジェクトを持っているだろうことを疑う)
おかげ
などメンテナンス性に直接行く、私は3 upvotes得なunabstracted過度にコピー/貼り付け機能を定義し、本当に悪い考えです:誰もが私たちにこの問題についての詳細を伝えることができ、今のpを:) I救助にORMがあることを知っているが、私はDAOのポーティングを得ていない))) – luigi7up
そして、私はほとんど忘れてしまった...私が関係を扱うことを始めたら、ホイール - すなわちORM ?! – luigi7up