Rails 如何查询嵌套关联返回所有嵌套关联

杰拉德·辛普森

我有以下关联:

class User < ApplicationRecord
  has_many :orders
end

class Order < ApplicationRecord
  belongs_to :user
  has_one :invoice
end

class Invoice < ApplicationRecord
  belongs_to :order
  has_one :receipt
end

class Receipt < ApplicationRecord
  belongs_to :invoice
end

我想返回用户所有订单的所有收据。

如果这种关系一直是一对一的,那就很简单了:

user = User.find(...)

user.order.invoice.receipt

因为有很多订单,我发现自己想要映射和展平。我不想那样做。我似乎找不到可以帮助我真正理解这个概念的来源。我需要定义through关系吗?我需要使用.joins吗?

如何返回特定用户拥有的所有订单的发票收据?

马尔钦·科沃齐耶

这应该适合你:

Receipt.joins(invoice: { order: :user }).where(users: { id: user_id })

是的,您需要使用连接来生成正确的查询(连接所有表并添加您的用户限制)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有嵌套关联和组的Rails查询(按关联对象)

来自分类Dev

Rails-如何关联嵌套模型

来自分类Dev

Rails嵌套的关联。在render:json

来自分类Dev

Rails JSON的多个嵌套关联

来自分类Dev

Rails 4,嵌套关联搜索

来自分类Dev

Rails:搜索非常嵌套的关联

来自分类Dev

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

来自分类Dev

Rails:具有多个嵌套关联的集合的collection_select

来自分类Dev

Rails 4-多态关联-嵌套属性

来自分类Dev

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

来自分类Dev

创建嵌套的关联记录Ruby on Rails

来自分类Dev

Rails嵌套的关联(通过模型进行建模)

来自分类Dev

在与Rails深度嵌套的关联中查找记录

来自分类Dev

Rails:包括嵌套通过关联

来自分类Dev

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

来自分类Dev

rails选择不同的嵌套关联并获取这些关联

来自分类Dev

Rails返回所有二级关联

来自分类Dev

如何更新 Rails 中的所有关联模型?

来自分类Dev

Rails 查询关联模型

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用Rails ActiveRecord返回带有嵌套结果的查询

来自分类Dev

Rails方式:查找具有许多where子句的深层嵌套关联

来自分类Dev

Rails 4嵌套表单数据未保存,通过关联有很多

来自分类Dev

Rails5,嵌套形式的不允许的参数,同时关联现有对象

来自分类Dev

如何使用嵌套资源在Rails 4中创建与用户关联的对象?

来自分类Dev

通过Rails中的给定嵌套属性创建关联

来自分类Dev

Rails 4作用域包含嵌套关联哈希

来自分类Dev

Rails:嵌套关联剂量集设置user_id

Related 相关文章

热门标签

归档