我正在试图弄清楚如何使用Rails控制台来获取具有两个特定关联的用户数。这是我的条件:
User
可以链接多个DropboxUser
帐户,许多DriveUser
帐户通过外键与其帐户相关联。在我的模型声明中,DropboxUser
和DriveUser
belongs_to :user
。结合之前的陈述,User
has_many :dropbox_users
和has_many :drive_users
。我知道我的所有模型都已关联,所以现在我想知道如何找出有多少User
个帐户同时拥有DropboxUser
帐户和DriveUser
帐户和他们一起。
以下是我尝试过的一些代码(失败):
User.count(:conditions => "dropbox_users.uid='user.id' AND drive_users.uid='user_id'")
也许我的最后一个问题是朝着正确的方向前进,也许不是。它告诉我no such column: dropbox_users.uid
。
答案 0 :(得分:1)
您必须加入dropbox_users
才能对其进行查询。
User.joins(:dropbox_users).joins(:drive_users).count
此外,由于joins
使用INNER JOIN
,因此它只会返回包含Dropbox和云端帐户的记录。