如何在Rails中查看有多少用户具有特定关联?

时间:2013-04-21 01:48:23

标签: sql ruby-on-rails ruby console

我正在试图弄清楚如何使用Rails控制台来获取具有两个特定关联的用户数。这是我的条件:

User可以链接多个DropboxUser帐户,许多DriveUser帐户通过外键与其帐户相关联。在我的模型声明中,DropboxUserDriveUser belongs_to :user。结合之前的陈述,User has_many :dropbox_usershas_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

1 个答案:

答案 0 :(得分:1)

您必须加入dropbox_users才能对其进行查询。

User.joins(:dropbox_users).joins(:drive_users).count

此外,由于joins使用INNER JOIN,因此它只会返回包含Dropbox和云端帐户的记录。