在Rails中查询多对多关联

腹肌

我正在学习Rails,但遇到了查询问题。我的模型具有多对多关系。很难解释我所使用的模型,因为它们对我的工作领域来说太具体了,因此我将使用来自rails guide的示例进行一些修改。

这是模型:

class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, through: :appointments
end

class Appointment < ActiveRecord::Base
  attr_accessor :appointment_time

  belongs_to :physician
  belongs_to :patient
end

class Patient < ActiveRecord::Base
  attr_accessor :name, :age

  has_many :appointments
  has_many :physicians, through: :appointments
end

我想要一个带有其Appointment.appointment_time的患者列表。我可以使用列出与医师相关的所有患者physician.patients我如何也可以包括约会时间?有了患者列表后,我可以想到查询约会,但是我想知道是否有“跟踪”方式(类似physician.patients_with_appointments)。如果没有,执行此操作的有效方法是什么?

肖恩
physician.appointments.includes(:patients).each do |appointment|
  puts appointment.appointment_time
  puts appointment.patient.name
end

**未经测试

据我所知,您正在寻找的Rails方式并不存在。为了确保没有在每个循环中加载每个循环,可以使用一个include。我不确定是否将包含项放在正确的位置,因为目前我无法使用Rails控制台。

如果有很多记录,您可能想使用find_each批量查找,但是对于您的示例,这应该可以工作。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Rails中管理多对多关联

来自分类Dev

多对多关系中的JPA标准查询

来自分类Dev

如何从2多对多关系中查找关联记录

来自分类Dev

Rails 4-best_in_place宝石和多对多关联

来自分类Dev

选择类别:Rails 4多对多关联

来自分类Dev

休眠在查询多对多关系中找不到关联表

来自分类Dev

验证多对多关系中的关联存在

来自分类Dev

在ExtJS 4中实现多对多关联

来自分类Dev

查询多对多关联

来自分类Dev

Rails ActiveRecord:使用联接表上的where查询多对多关联

来自分类Dev

SailsJS:MySQL中的多对多关联

来自分类Dev

查询以计算多对多关联的频率

来自分类Dev

如何在Rails中显示具有多对多关联的特定属性

来自分类Dev

查询和管理Rails中的多对多关系

来自分类Dev

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

来自分类Dev

DataMapper多对多关联

来自分类Dev

Rails 4-best_in_place宝石和多对多关联

来自分类Dev

Rails:在许多关联中获取模型

来自分类Dev

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

来自分类Dev

在SQL中查询多对多关系

来自分类Dev

多对多关联

来自分类Dev

Ruby on Rails-与模型的多对多关联

来自分类Dev

Rails ActiveRecord:使用联接表上的where查询多对多关联

来自分类Dev

查询redbeanphp中的多对多关系

来自分类Dev

管理多对多关联

来自分类Dev

避免Rails中的n + 1查询错误有很多关联

来自分类Dev

在MySql中查询多对多关系

来自分类Dev

多对多关联选择查询

来自分类Dev

多对多关系中的查询集