gpt4 book ai didi

mysql - MySQL/Rails 查找方法中的不明确列

转载 作者:可可西里 更新时间:2023-11-01 07:23:50 26 4
gpt4 key购买 nike

我遇到了这个错误

Mysql::Error: Column 'id' in field list is ambiguous

当使用这样的查找方法时:self.prompts.find(:all, :select => 'id')

使用 has_many :through 关联调用模型,因此 MySQL 会提示存在多个“id”列,因为所使用的所有 3 个表都有一个“id”列。

我查看了这个并了解 SQL 端出了什么问题,但不知道如何在 ActiveRecord 查找方法中解决它,而且我对自己的 SQL 能力没有信心尝试滚动我自己的 SQL 查询.有没有一种方法可以将 find 方法改进成可以正常运行的东西?

编辑

这里是相关的Actor模型代码:

class Actor < ActiveRecord::Base
has_many :acts, :dependent => :destroy
has_many :decisions, :through => :acts, :order => 'created_at'
has_many :prompts, :through => :decisions, :order => 'id'

最佳答案

您需要更明确地说明要选择哪个 ID。例如:

self.prompts.find(:all, :select => 'prompts.id') #prompts is the table name

关于mysql - MySQL/Rails 查找方法中的不明确列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912040/

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