Question

J'obtiens cette erreur

MySQL :: Erreur: la colonne 'ID' dans la liste de champs est ambiguë

Lorsque vous utilisez une méthode de recherche comme telle: self.prompts.find(:all, :select => 'id')

Les modèles sont appelés à l'aide d'un has_many: via l'association, donc MySQL se plaint qu'il existe plusieurs colonnes «ID», car les 3 tables utilisées ont une colonne «ID».

J'ai recherché cela et je comprends ce qui ne va pas à l'extrémité SQL, mais je ne sais pas comment le résoudre dans la méthode ACTIVERECORD FIND, et je ne suis pas confiant dans mes capacités SQL pour essayer de faire rouler ma propre requête SQL. Existe-t-il un moyen de masser la méthode de recherche en quelque chose qui va bien jouer?

Éditer

Voici le code du modèle d'acteur pertinent:

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

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top