Rails查询仅在所有has_many的关联均为“ true”的情况下选择父记录

有四盏灯
  • has_many

  • belongs_to

  • 页面具有布尔属性 read

这样,书号:1条记录可能具有:

  • 第1页为read
  • 第2页为read
  • 第3页有read错误

然后,书号:2为:

  • 第1页为read
  • 第2页为read

这样,必须从查询中返回书号:2。

目前我有:

Book.includes(:pages).where(pages: {read: true})

并且它同时返回Bookid: 1id: 2

如何解决?

Sebastian Palma的图片

join子句还不够,因为您需要检查来自书本父级的read每个page子级列值是否为假。

您可以使用显式添加所需的过滤器where

Book.where.not(id: Page.where(read: false).select(:book_id))

通过selectPage.where(read: false)Rails中使用可以执行单个查询,例如:

SELECT "books".*
FROM "books"
WHERE "books"."id" NOT IN (
  SELECT "pages"."book_id"
  FROM "pages"
  WHERE "pages"."read" = $1
) [["read", false]]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在has_many关联中选择所有符合条件的记录-Ruby On Rails

来自分类Dev

Rails,ActiveRecord,has_many:through:查找没有关联的所有记录

来自分类Dev

在没有属性的情况下选择记录?

来自分类Dev

Rails-活动记录:查找所有具有某些属性的has_many关联计数的记录

来自分类Dev

rails 通过记录访问所有 has_many

来自分类Dev

如何在没有孩子的情况下找到父记录?

来自分类Dev

Rails has_many 关联如何保证每个关联记录只有一个?

来自分类Dev

XML XPath-仅在满足子条件的情况下选择父文本

来自分类Dev

如何在不使用子查询的情况下选择具有where条件的不同记录

来自分类Dev

在没有父级所有者的情况下如何在Cloudkit中创建新的共享记录?

来自分类Dev

在没有OrderBy的情况下从Entity Framework数据库中选择随机记录

来自分类Dev

如何从活动记录集中获取所有has_many关联

来自分类Dev

仅在其所有has_many集合均具有特定列值的情况下查找对象

来自分类Dev

如何在rails 4中创建具有父字段的has_many关联字段

来自分类Dev

Ruby on Rails has_many -- 为单个记录创建关联

来自分类Dev

仅在所有状态均为“否”时,才如何通过request_id选择请求?

来自分类Dev

Laravel / Eloquent:是否可以在不设置父级的情况下选择所有子模型数据?

来自分类Dev

仅在所有其他表数据均正确的情况下才选择一个数据

来自分类Dev

查询以仅在其他记录的[金额]中未引用记录的情况下返回记录

来自分类Dev

如何在不使用 SQL Server 中的 where 查询的情况下从第 5 行中选择记录

来自分类Dev

Rails Postgres查询,仅选择出现在所有具有关联的搜索参数中的项目

来自分类Dev

Python String到Bool的转换在所有情况下都为True

来自分类Dev

仅在不存在的情况下插入记录

来自分类Dev

ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

来自分类Dev

Rails快速找到has_many关联与关联ID数组完全匹配的记录

来自分类Dev

如何在不单击按钮的情况下查询记录

来自分类Dev

wandb 在没有启动的情况下被记录

来自分类Dev

仅在未删除关联的情况下如何返回与其关联的记录

来自分类Dev

仅在找到第一个数字条目时返回 True,在所有其他情况下返回 False

Related 相关文章

  1. 1

    在has_many关联中选择所有符合条件的记录-Ruby On Rails

  2. 2

    Rails,ActiveRecord,has_many:through:查找没有关联的所有记录

  3. 3

    在没有属性的情况下选择记录?

  4. 4

    Rails-活动记录:查找所有具有某些属性的has_many关联计数的记录

  5. 5

    rails 通过记录访问所有 has_many

  6. 6

    如何在没有孩子的情况下找到父记录?

  7. 7

    Rails has_many 关联如何保证每个关联记录只有一个?

  8. 8

    XML XPath-仅在满足子条件的情况下选择父文本

  9. 9

    如何在不使用子查询的情况下选择具有where条件的不同记录

  10. 10

    在没有父级所有者的情况下如何在Cloudkit中创建新的共享记录?

  11. 11

    在没有OrderBy的情况下从Entity Framework数据库中选择随机记录

  12. 12

    如何从活动记录集中获取所有has_many关联

  13. 13

    仅在其所有has_many集合均具有特定列值的情况下查找对象

  14. 14

    如何在rails 4中创建具有父字段的has_many关联字段

  15. 15

    Ruby on Rails has_many -- 为单个记录创建关联

  16. 16

    仅在所有状态均为“否”时,才如何通过request_id选择请求?

  17. 17

    Laravel / Eloquent:是否可以在不设置父级的情况下选择所有子模型数据?

  18. 18

    仅在所有其他表数据均正确的情况下才选择一个数据

  19. 19

    查询以仅在其他记录的[金额]中未引用记录的情况下返回记录

  20. 20

    如何在不使用 SQL Server 中的 where 查询的情况下从第 5 行中选择记录

  21. 21

    Rails Postgres查询,仅选择出现在所有具有关联的搜索参数中的项目

  22. 22

    Python String到Bool的转换在所有情况下都为True

  23. 23

    仅在不存在的情况下插入记录

  24. 24

    ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

  25. 25

    Rails快速找到has_many关联与关联ID数组完全匹配的记录

  26. 26

    如何在不单击按钮的情况下查询记录

  27. 27

    wandb 在没有启动的情况下被记录

  28. 28

    仅在未删除关联的情况下如何返回与其关联的记录

  29. 29

    仅在找到第一个数字条目时返回 True,在所有其他情况下返回 False

热门标签

归档