Colonna ambigua in mysql/rotas trova metodo
-
29-10-2019 - |
Domanda
Sto ricevendo questo errore
Mysql :: errore: colonna 'id' nell'elenco dei campi è ambiguo
Quando si utilizza un metodo Trova come tale: self.prompts.find(:all, :select => 'id')
I modelli vengono chiamati usando un Has_Many: attraverso l'associazione, quindi MySQL si lamenta che ci sono più colonne di "ID", poiché tutte e 3 le tabelle utilizzate hanno una colonna "ID".
Ho cercato questo e ho capito cosa sta andando storto alla fine di SQL, ma non so come risolverlo nel metodo ActiveverId Find, e non sono fiducioso nelle mie capacità SQL per provare a lanciare la mia query SQL. C'è un modo per massaggiare il metodo trova in qualcosa che giocherà bene?
modificare
Ecco il codice modello di attore pertinente:
class Actor < ActiveRecord::Base
has_many :acts, :dependent => :destroy
has_many :decisions, :through => :acts, :order => 'created_at'
has_many :prompts, :through => :decisions, :order => 'id'
Nessuna soluzione corretta