如何让所有艺术家都没有视频和照片?

时间:2012-02-02 11:35:13

标签: mysql ruby-on-rails-3 activerecord

我试图让所有没有内容(视频和照片)的艺术家上传。我的查询缺少照片部分。到目前为止,我有:

User.where(:is_artist => true, :is_verified => true).joins('LEFT OUTER JOIN videos ON videos.user_id = users.id').where('videos.id IS NULL').count
(8.7ms)  SELECT COUNT(*) FROM `users` LEFT OUTER JOIN videos ON videos.user_id = users.id WHERE `users`.`is_artist` = 1 AND `users`.`is_verified` = 1 AND (videos.id IS NOT NULL)

但是,上述查询的内容有点错误,因为:

User.where(:is_artist => true, :is_verified => true).count

返回:1000。第一个查询返回:3000。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

这可以通过运行

来实现
User.where(:is_artist => true, :is_verified => true).includes(:videos).count

如果用户与视频有关系

答案 1 :(得分:0)

您可以免费获得所有经过验证的艺术家:

User.joins('LEFT OUTER JOIN videos ON videos.user_id = users.id').
     where(:is_artist => true, :is_verified => true, 'videos.id' => nil)