Rails活动记录查询与“ exists”的关联

背风处

我正在开发一个允许会员进行调查的应用程序(会员与“响应”具有一对多关系)。响应包含member_id,question_id及其答案。

该调查是全部提交或不提交的,因此,如果“响应”表中有该成员的任何记录,则表示他们已完成调查。

我的问题是,如何重新编写下面的查询,使其真正起作用?在SQL中,这将是EXISTS关键字的主要候选对象。

 def surveys_completed
    members.where(responses: !nil ).count
 end 
吉治先生

您可以使用includes,然后测试相关响应是否存在,如下所示:

def surveys_completed
  members.includes(:responses).where('responses.id IS NOT NULL')
end

这是另一种选择,方法是joins

def surveys_completed
  members.joins(:responses)
end

使用Rails 4的解决方案

def surveys_completed
  members.includes(:responses).where.not(responses: { id: nil })
end

使用的替代解决方案activerecord_where_assoc:该gem确实满足此处的要求:用于EXISTS执行条件。它与最新版本的Rails 4.1一起使用。

members.where_assoc_exists(:responses)

它还可以做更多!


类似问题:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails活动记录查询与“ exists”的关联

来自分类Dev

Rails活动记录查询嵌套关联是否存在

来自分类Dev

“ .where”查询后的活动记录关联

来自分类Dev

“ .where”查询后的活动记录关联

来自分类Dev

Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

来自分类Dev

Rails活动记录关联,嵌套模型

来自分类Dev

基于关联属性的Rails查询记录

来自分类Dev

编写单个Rails活动记录查询以通过与两个表关联来获取所有项?

来自分类Dev

活动记录关联错误

来自分类Dev

Rails活动记录关联:从多个表中获取数据

来自分类Dev

Rails活动记录渴望加载不会加载关联

来自分类Dev

在Rails活动记录中创建丰富的多对多关联

来自分类Dev

Ruby on Rails 5,活动记录关联,仅 API

来自分类Dev

根据特定的关联列获取唯一记录 - rails 活动记录关联

来自分类Dev

Rails 4活动记录查询

来自分类Dev

Rails活动记录查询结果

来自分类Dev

Ruby on Rails活动记录查询

来自分类Dev

如何使用Rails 4 + PostgreSQL查询关联记录的列表?

来自分类Dev

Rails记录未关联

来自分类Dev

具有关联的活动记录查询中的LIKE运算符

来自分类Dev

Rails有效地查询记录和最新的关联记录,包括吗?

来自分类Dev

Rails 查询关联模型

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

如何在Rails(活动记录)中定义多对多关联和相关属性?

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

Rails /活动记录,按关联顺序排序/ has_many计数

来自分类Dev

Rails 4-控制器测试错误,活动记录关联问题

来自分类Dev

Ruby on Rails-多租户帐户和用户的活动记录关联

来自分类Dev

如何取消整个rails活动记录关联链中特定模型的默认范围?

Related 相关文章

  1. 1

    Rails活动记录查询与“ exists”的关联

  2. 2

    Rails活动记录查询嵌套关联是否存在

  3. 3

    “ .where”查询后的活动记录关联

  4. 4

    “ .where”查询后的活动记录关联

  5. 5

    Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

  6. 6

    Rails活动记录关联,嵌套模型

  7. 7

    基于关联属性的Rails查询记录

  8. 8

    编写单个Rails活动记录查询以通过与两个表关联来获取所有项?

  9. 9

    活动记录关联错误

  10. 10

    Rails活动记录关联:从多个表中获取数据

  11. 11

    Rails活动记录渴望加载不会加载关联

  12. 12

    在Rails活动记录中创建丰富的多对多关联

  13. 13

    Ruby on Rails 5,活动记录关联,仅 API

  14. 14

    根据特定的关联列获取唯一记录 - rails 活动记录关联

  15. 15

    Rails 4活动记录查询

  16. 16

    Rails活动记录查询结果

  17. 17

    Ruby on Rails活动记录查询

  18. 18

    如何使用Rails 4 + PostgreSQL查询关联记录的列表?

  19. 19

    Rails记录未关联

  20. 20

    具有关联的活动记录查询中的LIKE运算符

  21. 21

    Rails有效地查询记录和最新的关联记录,包括吗?

  22. 22

    Rails 查询关联模型

  23. 23

    Rails 4活动记录模型has_many通过关联吗?

  24. 24

    如何在Rails(活动记录)中定义多对多关联和相关属性?

  25. 25

    Rails 4活动记录模型has_many通过关联吗?

  26. 26

    Rails /活动记录,按关联顺序排序/ has_many计数

  27. 27

    Rails 4-控制器测试错误,活动记录关联问题

  28. 28

    Ruby on Rails-多租户帐户和用户的活动记录关联

  29. 29

    如何取消整个rails活动记录关联链中特定模型的默认范围?

热门标签

归档