【发布时间】:2016-11-15 15:49:55
【问题描述】:
我有一个 many_to_many 关联,它带有一个显式的 join_schema,它在两端引用相同的模型(有点像经典的 Follower(是用户) Followee(是用户)的东西)。
如果我查询用户的关注者,我想包括关注用户的时间。该数据显然位于连接架构上(我们称之为订阅)。
如果只想要追随者,我会这样做:
followers = User
|> Repo.get!(user_id)
|> assoc(:followers)
|> Repo.all()
要让这个工作,我会在用户身上定义这个:
many_to_many(
:followers,
MyApp.User,
join_through: MyApp.Subscription,
join_keys: [followee_id: :id, follower_id: :id]
)
假设Subscription 模型上有一个created_at 字段。我该如何查询才能得到它?
【问题讨论】: