我试图让所有没有内容(视频和照片)的艺术家上传。我的查询缺少照片部分。到目前为止,我有:
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。
任何帮助都将不胜感激。
答案 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)