没有has_many关联元素的Rails范围过滤元素

塞巴斯蒂安·贾拉(SebastiánJara)

我有以下型号:

class Property < ActiveRecord::Base
    has_many :photos
    scope :no_photos, -> { where('properties.id NOT IN (SELECT DISTINCT(property_id) FROM photos)') }
end

class Photo < ActiveRecord::Base
    belongs_to :property
end

我知道我的范围确实很低效。我需要另一种方式来获取没有与之关联的照片的属性。

有什么帮助吗?

吉治先生

您可以执行以下操作:

class Property < ActiveRecord::Base
  has_many :photos
  scope :has_no_photo, includes(:photos).where(photos: { id: nil })
  scope :has_photo, includes(:photos).where('photos.id IS NOT NULL')
  # rails 4 or higher (thanks to @trip)
  scope :has_photo, includes(:photos).where.not(photos: { id: nil })

类似问题:

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails:通过has_many关联的最后一个元素对模型进行排序

来自分类Dev

基于 has_many 关联总和的 Rails 范围

来自分类Dev

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

来自分类Dev

具有has_many关联的Rails N + 1查询

来自分类Dev

获得所有has_many关联在rails中

来自分类Dev

从has_many关联中过滤集合?

来自分类Dev

Rails:在时间范围内具有has_many

来自分类Dev

Rails 5 可选的 has_many 关联

来自分类Dev

Has_many rails关联=> NoMethodError

来自分类Dev

Rails has_many没有belongs_to

来自分类Dev

Rails .build 没有构建 has_many :options

来自分类Dev

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

来自分类Dev

Rails:在定义关联之前不能具有has_many:through关联

来自分类Dev

has_many的嵌套表单,仅显示一个关联元素

来自分类Dev

具有动态条件的has_many与has_one关联-Rails

来自分类Dev

如何基于has_many关联进行过滤?

来自分类Dev

Rails中的has_one和has_many关联

来自分类Dev

Rails-如何通过has_many关联获取所有(唯一)数据?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

带有 has_many、through、class_name 和 where 子句的 Rails 模型关联

来自分类Dev

Rails从has_many到has_many建立关联引发错误

来自分类Dev

Rails关联has_many和has_many通过相同的STI模型

来自分类Dev

通过Rails 4中的关联使用has_many

来自分类Dev

Rails has_many关联返回空数组

来自分类Dev

Rails关联has_many通过代替HABTM

来自分类Dev

如何在rails中插入has_many关联

来自分类Dev

Rails模型has_many与同一模型的关联

来自分类Dev

has_many的Rails触摸链:通过关联

Related 相关文章

  1. 1

    Rails:通过has_many关联的最后一个元素对模型进行排序

  2. 2

    基于 has_many 关联总和的 Rails 范围

  3. 3

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

  4. 4

    具有has_many关联的Rails N + 1查询

  5. 5

    获得所有has_many关联在rails中

  6. 6

    从has_many关联中过滤集合?

  7. 7

    Rails:在时间范围内具有has_many

  8. 8

    Rails 5 可选的 has_many 关联

  9. 9

    Has_many rails关联=> NoMethodError

  10. 10

    Rails has_many没有belongs_to

  11. 11

    Rails .build 没有构建 has_many :options

  12. 12

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

  13. 13

    Rails:在定义关联之前不能具有has_many:through关联

  14. 14

    has_many的嵌套表单,仅显示一个关联元素

  15. 15

    具有动态条件的has_many与has_one关联-Rails

  16. 16

    如何基于has_many关联进行过滤?

  17. 17

    Rails中的has_one和has_many关联

  18. 18

    Rails-如何通过has_many关联获取所有(唯一)数据?

  19. 19

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

  20. 20

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

  21. 21

    带有 has_many、through、class_name 和 where 子句的 Rails 模型关联

  22. 22

    Rails从has_many到has_many建立关联引发错误

  23. 23

    Rails关联has_many和has_many通过相同的STI模型

  24. 24

    通过Rails 4中的关联使用has_many

  25. 25

    Rails has_many关联返回空数组

  26. 26

    Rails关联has_many通过代替HABTM

  27. 27

    如何在rails中插入has_many关联

  28. 28

    Rails模型has_many与同一模型的关联

  29. 29

    has_many的Rails触摸链:通过关联

热门标签

归档