gpt4 book ai didi

mysql - 在 RoR 中连接表

转载 作者:行者123 更新时间:2023-11-29 11:08:59 24 4
gpt4 key购买 nike

我有以下两个型号。

class ResponseMap < ActiveRecord::Base
has_many :response, foreign_key: 'map_id', dependent: :destroy
belongs_to :reviewer, class_name: 'Participant', foreign_key: 'reviewer_id'


class Response < ActiveRecord::Base
include ResponseAnalytic

belongs_to :response_map, class_name: 'ResponseMap', foreign_key: 'map_id'

我必须加入这两个模型,并在 ResponseMap 中找到特定审阅者给出的响应,使得 response.map_id = responseMap.id。这是我需要将其转换为 ResponseMap 模型的事件记录查询的 SQL 查询。

select * from response_maps as rm join responses as r on r.map_id = rm.id where rm.reviewer_id = 97 

谁能帮我解决这个问题吗?

最佳答案

首先需要纠正关联

class ResponseMap < ActiveRecord::Base
has_many :responses, foreign_key: 'map_id', dependent: :destroy
belongs_to :reviewer, class_name: 'Participant', foreign_key: 'reviewer_id'

如果您有一个 has_many 关联,则名称应该是复数。

查询

ResponseMap.joins(:responses).where(reviewer_id: 97)

关于mysql - 在 RoR 中连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40949127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com