ruby-on-rails - 我怎样才能到有关联的第三张桌子?
问题描述
一个流程有一个Request
,然后在批准后,Order
创建一个。最后,客户得到了PaymentRequest
他所下的订单。
在 中Request
,有一个project_id
,所以在 中request model
:
belongs_to :project
Order model
连接到Request
一个:
belongs_to :request
每一个PaymentRequest
:
has_many :orders
我应该在PaymentRequest
模型和其他模型中做什么,这样我才能得到project
from Request
?
所以我想做类似的事情:
PaymentRequest.where("requests.project_id = ?").joins(???)
解决方案
PaymentRequest.joins(orders: :request).where("requests.project_id = ?", some_id)
或按照弗雷德里克的建议:
PaymentRequest.joins(orders: :request).where(requests: { project_id: some_id })
推荐阅读
- karate - 如何从 Java 程序而不是 gradle gatlingRun 执行空手道加特林模拟
- javascript - 将猴子帖子篡改到另一个 api
- git - git rebase --preserve-merges 合并冲突
- ios - 如何拥有一个具有两个集合视图的视图控制器,但只有一个具有页眉/页脚视图?
- javascript - 无法控制台记录更新的状态数组
- django - 在 Django 中,我的视图中没有 URL 参数
- ansible - 未能创建网络 (EOS/IOS) 剧本以验证 STIG 要求
- python - 熊猫绘制国家总数和新科尔
- spring - Spring MVC 重定向与 Spring Cloud Eureka
- python - Scrapy:在重定向之前获取 URL 的特定部分