如何在Ruby on Rails的ActiveRecord查询中加入间接关联?

莫拉拉

在我的Ruby on Rails应用程序中,我有一个模型Instance属于另一个模型ZoneZone模型本身属于Country模型。我正在获取一组Instance对象,如下所示:

scope :thisweek, -> { joins(:zone).where(zones: {created_at: ...}).includes(:zone)

我想加盟Country,以ZoneInstance为好,然后排序结果Instance基础上设定的zone.country.name领域。有人可以帮我吗?

吉治先生

您可以尝试以下操作:

scope :this_week, proc do
  includes(zone: :country)
    .where(zones: {created_at: whatever})
    .order('countries.name ASC')
end

(我do/end故意使用该格式以多行显示每条指令)


另外,您应该知道以下几点:

# if
Zone belongs_to :country
# then
Zone.includes(:country).where(countries: { id: 12 })
#                    ^               ^^
# but if
Zone has_many :countries
# then
Zone.includes(:countries).where(countries: { id: 12 })
#                     ^^               ^^

where总是使用表的名称,但includes/joins使用关系的名字,因为它是在模型中声明。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rails中使用ActiveRecord查询关联的关联?

来自分类Dev

如何在Rails上使用ruby为ActiveRecord关联添加唯一性

来自分类Dev

渴望负载间接关联Rails

来自分类Dev

如何在Ruby on Rails / ActiveRecord中克隆模型?

来自分类Dev

如何在Rails中的ruby中查询查询?

来自分类Dev

如何在Ruby on Rails中启用压缩?

来自分类Dev

如何在Ruby on Rails中隐藏标签

来自分类Dev

如何在Ruby on Rails中使用jTable?

来自分类Dev

如何在Ruby on Rails上安装Alchemist

来自分类Dev

如何在Ruby on Rails中实现CardDAV

来自分类Dev

如何在Ruby on Rails中使用jTable?

来自分类Dev

如何在Ruby on Rails中实现RESTful?

来自分类Dev

如何在 Ruby on rails 中连接 Mercadopago

来自分类Dev

如何在Django / Python中加入ManyToMany查询集

来自分类Dev

如何在Django / Python中加入ManyToMany查询集

来自分类Dev

如何在Python中加入2个查询

来自分类Dev

如何在PHP MySQL中加入更多UPDATE查询

来自分类Dev

如何在Ruby中查询方法的结果(rails)

来自分类Dev

如何在Ruby on Rails中实现复杂的SQL查询?

来自分类Dev

如何在Ruby中查询方法的结果(rails)

来自分类Dev

如何在 Ruby on Rails 中的表之间添加查询

来自分类Dev

如何在带有Rails黑子的Solr中加入模型

来自分类Dev

如何在Rails中批量查询关联?

来自分类Dev

如何在 ActiveRecord 中以关联表为条件进行查询

来自分类Dev

如何在Ruby on Rails中使用嵌套关联关联的Best in place

来自分类Dev

Ruby on Rails:Activerecord集合关联的模型

来自分类Dev

如何在Rails 4.2中设置此ActiveRecord关联?

来自分类Dev

如何在Rails / ActiveRecord中设置这个Emirates_to关联?

来自分类Dev

如何在pry编辑器中加载ruby文件?

Related 相关文章

热门标签

归档