ruby-on-rails - 基于关联模型的 Rails 查询
问题描述
我正在尝试查找所有具有 plan_type_id = 1 的 EnrollmentPlan,因此我需要使用 EnrollmentPlan 表中的 plan_id 从 Plan 表中获取 plan_type_id 以便查询 EnrollmentPlan 表。
我有三个模型:
播放类型 =>:id, :name
计划 =>:id, :name, :plan_type_id
招生计划 =>:id, :enrollment_id, :plan_id
协会:注册计划
belongs_to :plan
has_one :plan_type, through: :plan
计划:
has_many :enrollment_plans
belongs_to :plan_type
我正在尝试类似EnrollmentPlan.joins(:plans).where(plans.plan_type_id: 1)
但没有运气的查询。
解决方案
您应该查看https://guides.rubyonrails.org/active_record_querying.html
他们给出的例子是:
Author.joins(:articles).where(articles: { author: author })
所以在你的情况下:
EnrollmentPlan.joins(:plan).where(plans: { plan_type_id: 1 })
编辑:正如@steve 所说,以上是针对has_many 的。针对 has_one 关系进行了调整
推荐阅读
- flutter - 我可以在颤振小部件中使用宽度吗
- javascript - 请求方法在节点 js 中显示 403 错误
- elasticsearch - Jest 客户端 ElasticSearch 别名
- linux - 将 Docker 转换为 Singularity 时遇到问题:Singularity 中的“功能未实现”,但在 Docker 中工作正常
- r - 一列的一部分是否存在于另一列中?R
- ios - 是否可以使用 SCNAudioPlayer() 进行音频电平测量
- python - 如何在python中找到小说中所需的单词?
- javascript - ExtJS Classic:为窗口的 x/y/width/height 设置动画时,标题未在指定的最终位置结束
- java - 在导航栏中更改片段时进度消失
- python - sklearn knn分类器的pred()函数可以将scipy稀疏矩阵作为输入吗?