gpt4 book ai didi

ruby-on-rails - 使用左连接时主键为空

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:26 25 4
gpt4 key购买 nike

当我使用这个请求时

@questions = Question.joins("left join answers as a on a.user_id = #{current_user.id} and a.question_id = questions.id").select('questions.*, a.*')

Question.id 为空。有谁知道为什么?也许它需要一个别名或类似的东西。

我的模式:

class Answer:
belong_to: User
belongs_to: Question
end

class User:
has_many: answers
end

class Question:
has_one: answer
end

最佳答案

问题是答案表可能还有一个名为 id 的列,它隐藏了问题的 id。虽然结果集中一列叫questions.id,另一列叫a.id,active record只看最后一部分('id')

据我所知,除了对答案表中有问题的列进行别名处理外,没有其他好的解决方法,不幸的是,这意味着明确命名所有这些列(尽管您当然可以在一定程度上自动执行此操作)

关于ruby-on-rails - 使用左连接时主键为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30073340/

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