2016-04-08 12 views
-2

Ich brauche meine Datenbank in Ruby on Rails Abfrage verwenden:Convert SQL-Abfrage Active Record

select p.name from shoppe_products p 
join shoppe_product_categorizations ca on (p.id = ca.product_id) 
join shoppe_product_categories c on (c.id = ca.product_category_id) 
where c.id = 2 

Ich benutze Ruby-v 2.1.5, Rails v 4 und PG 9.4.

+0

Wie lauten Ihre Modellnamen? –

+1

Willkommen bei Stack Overflow. Bitte lesen Sie "[fragen]" und "[mcve]". Wir brauchen mehr Informationen, wie Sie es versucht haben und warum es nicht funktioniert hat. –

+0

Wenn diese Zuordnung zu Modellen und diese Modelle ihre Beziehungen haben, ist es normalerweise ziemlich einfach zu konvertieren. – tadman

Antwort

0

Sie können einfach SQL ausführen:

query_id = ActiveRecord::Base.connection.quote(id_param) 
results = ActiveRecord::Base.connection.exec_query(
    "select p.name from shoppe_products p 
    join shoppe_product_categorizations ca on (p.id = ca.product_id) 
    join shoppe_product_categories c on (c.id = ca.product_category_id) 
    where c.id = #{query_id}" 
) 

Ohne Ihre Modelle usw. zu wissen, diese beste Lösung ist, ich erraten kann.

+0

Es wäre besser, hier eine vorbereitete Anweisung zu verwenden, anstatt die Daten manuell zu zitieren. – tadman