ActiveRecord:计算关联

Pla*_*Ton 1 activerecord ruby-on-rails

我有两个表有一个has_one < - > belongs_to关系:'user'和'account'.(帐户必须有用户,但用户不需要任何帐户).

我想做的是返回所有没有帐户的用户......我在优雅地做这件事时遇到了一些麻烦.有一个简单的方法吗?

非常感谢...

Ben*_*Lee 5

您必须将帐户表加入users表,然后检查空帐户.在Rails 3中,你可以这样做:

User.includes(:account).where('accounts.id' => nil).all
Run Code Online (Sandbox Code Playgroud)

在Rails 2中,你可以这样做:

User.find(:all, :include => [ :account ], :conditions => { 'accounts.id' => nil })
Run Code Online (Sandbox Code Playgroud)