多対多テーブルを簡単に扱う

データベースアプリケーションを構築する上で多対多テーブルの扱いは面倒です。

例えば、ブックッマークをタグで分類するようなシステムの場合、BookmarkTagは多対多(Many-to-Many)の関係にあります。RDBでは例えば下のように中間テーブルTaggedを作って以下のようにします。

Bookmark ----<> Tagged <>---- Tag

このような構造になるため、本来TagBookmarkの関係間にTaggedが入る事により一段手間が増えます。Symfonyのソースツリーを見ていたらこの煩雑な処理をやってくれるsfPropelManyToManyというライブラリがありましたので紹介します。

この投稿の続きを読む »多対多テーブルを簡単に扱う