0

これを mongoid で最適にモデル化する方法を理解する必要があります。ギャラリー モデルと画像モデルがあります。複数のドキュメントで画像を参照できるようにする必要があり、各ギャラリーで画像をギャラリー内で並べ替えることができるようにする必要があります。mysql では、結合テーブルでこれを行いますが、mongodb/mongoid でこれを行う最善の方法を理解できないようです。どんな助けでも大歓迎です。

4

1 に答える 1

0

has_and_belongs_to_many、ここでは結合テーブルは必要ありません。Mongoid では、HABTM は両側に ID の配列を格納します。したがって、次のように定義すると:

class Gallery; has_and_belongs_to_many :images; end
class Image; has_and_belongs_to_many : galleries; end

image_idsギャラリードキュメントとgallery_ids画像ドキュメントがあります。ギャラリー内の画像の並べ替えも可能です。gallery.imagesこれは、より多くの条件をチェーンして結果をフィルタリング/並べ替えることができるリレーション プロキシです。

gallery.images.desc(:updated_at)
gallery.images.asc(:user_id)
gallery.images.asc(:my_sort_order_from_drag_drop)
于 2012-10-20T23:01:10.630 に答える