Mongoid 从多对多关联中获取模型
Mongoid get models from many to many association
我有 User
、Shop
和 FavouriteShop
模型。我正在使用 mongoid:
class User
include Mongoid::Document
has_many :favourite_shops, dependent: :destroy
end
class Shop
include Mongoid::Document
has_many :favourite_shops, dependent: :destroy
end
class FavouriteShop
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
belongs_to :shop
end
如您所见,User
和 Shop
通过 FavouriteShop
.
存在多对多关系
现在如果我有一个用户:
user = User.all.first
如何获取与用户关联的所有商店?
通过使用 user.favourite_shops.map(&:shop)
,您只需在每个用户的 favourite_shops 上调用 #shop
并接收一系列相关商店。换句话说,您将每个 favourite_shops
替换为关联的 shop
。
如果您想以 Mongoid 的方式做到这一点,请考虑这个 post How to implement has_many :through relationships with Mongoid and mongodb?.
我有 User
、Shop
和 FavouriteShop
模型。我正在使用 mongoid:
class User
include Mongoid::Document
has_many :favourite_shops, dependent: :destroy
end
class Shop
include Mongoid::Document
has_many :favourite_shops, dependent: :destroy
end
class FavouriteShop
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
belongs_to :shop
end
如您所见,User
和 Shop
通过 FavouriteShop
.
现在如果我有一个用户:
user = User.all.first
如何获取与用户关联的所有商店?
通过使用 user.favourite_shops.map(&:shop)
,您只需在每个用户的 favourite_shops 上调用 #shop
并接收一系列相关商店。换句话说,您将每个 favourite_shops
替换为关联的 shop
。
如果您想以 Mongoid 的方式做到这一点,请考虑这个 post How to implement has_many :through relationships with Mongoid and mongodb?.