2010-11-26 3 views
0

私のデータベースには、「お気に入り」とテーブル「活動」があります。私はZend Frameworkを使用しており、両方のテーブルをモデリングするクラスがあります。誰かが記事をお気に入りにすると、アクティビティテーブルに行を追加する必要があります。PHP:データベース関係をモデル化する方法がわからない

これを行う最も明白な方法は、それぞれのテーブルクラスにメソッドaddActivityとaddFavoriteを作成することです。アーティクルが好きなときはいつでもaddActivityメソッドを呼び出します。これは非常に簡単ですが、私にとって自然なことではありません。

あなたはこれを行うためのよりよい方法をお持ちですか?

+1

お気に入りクラスにはどのようなアクティビティが含まれていますか?データベースの依存関係はありますか、それとも2つのテーブルがありますか?より多くの情報をお願いします。 – baklap

答えて

0

私は過去に同じ問題に直面していました。

Activity::addNew($favouriteID, Activity::FAVOURITE); 

とはい、それは非自然に見える:私はそれがコールのようなものだった活動テーブル内の静的メソッドで、あなたのオントロジーを使用して、解決しました。 あなたはそれを行うには

別の方法...私は怖い、ここでアスペクトオリエンテーションについて話している(しかし、他の理由のためにそれを選択しなかった)、移入思われる、データベースにトリガーを追加することによりだろう お気に入りを追加するたびに私はそこに行くことを望んでいませんでした。なぜなら、それはすぐに始まる文章の中で誇張されているからです。 は制御を外れます。これは、データベースレベルでどの程度のアプリケーションロジックを使用したいかによって決まります。

関連する問題