Question

I'm getting this error

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

when using a find method like such: self.prompts.find(:all, :select => 'id')

The models are being called using a has_many :through association, so MySQL complains that there are multiple 'id' columns, since all 3 tables being used have an 'id' column.

I looked this up and understand what is going wrong on the SQL end, but don't know how to resolve it in the ActiveRecord find method, and I'm not confident in my SQL abilities to try rolling my own SQL query. Is there a way to massage the find method into something that'll play well?

edit

Here is the relevant Actor model code:

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

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top