admin

带有Select调用的双嵌套联接的Rails Active Record查询

sql

我有以下架构:

照片has manyhas many用户。

我将此Rails服务器用作iOS应用程序的后端,添加照片后,经常需要向组中所有涉及的用户推送通知。

我的问题是找到最便宜的查询来仅解决User.ids受影响的问题。

到目前为止,我有

    Photo.find(1).groups.joins(:users)

我知道我必须在此之后添加一个select参数,但是无法弄清楚我一生的语法。

给定一张照片,我正在寻找最有效的方法来查找受影响的用户ID的集合。

任何帮助将非常感激!!!


阅读 167

收藏
2021-07-01

共1个答案

admin

users_id = []
Group.where(photo_id: 1).users.collect{|u| users_id << u.id}
puts users_id

has_many因此,作为照片组,组belongs_to照片和组表具有photo_id作为外键。

所以,请尝试这个。

2021-07-01