Colonne ambiguë dans MySQL / Rails Find Method
-
29-10-2019 - |
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