Utilisation de la requête d'enregistrement actif Comment faire la requête sql suivante?comment faire cette requête SQL brute en utilisant requête d'enregistrement actif?
sql = "select * from events
inner join places on events.place_id = places.id
inner join users on events.user_id = users.id"
where events.id = #{event_id}
J'ai essayé
Event.joins(:user, :place).includes(:user, place).find(event_id)
Cela fait presque ce que je veux cependant fait certains événements. * Et non sélectionner .
J'ai ensuite essayé
Event.joins(:user, :place).select('*.*')
Cela renvoie cependant un objet ActiveRelation et je ne suis pas sûr de savoir comment obtenir mes résultats sur ce sujet.
J'ai aussi essayé
Event.joins(:user, :place).find(event_id)
et cela génère une erreur.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "."
Vous ne savez pas quoi d'autre essayer. Est-ce que ce que j'essaie de faire n'est pas possible?
Un objet de relation active est ce que vous voulez. Appelez simplement une méthode qui fera exécuter la requête - par exemple 'all' ou' each' ou 'to_a' (pour le convertir en un tableau) –