2016-04-08 100 views
-2

我需要使用查詢我的數據庫的Ruby on Rails的:轉換SQL查詢的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 

我使用Ruby 2.1.5 v,Rails的4節和PG 9.4。

+0

什麼是您的模型名稱? –

+1

歡迎來到Stack Overflow。請閱讀「[問]」和「[mcve]」。我們需要更多的信息,比如您嘗試過的以及爲什麼不起作用。 –

+0

如果這些映射到模型並且這些模型建立了它們的關係,那麼它通常很容易轉換。 – tadman

回答

0

你可以簡單地執行sql:

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}" 
) 

不知道你的模型等等,這是我能猜到最佳的解決方案。

+0

在這裏使用準備好的語句而不是手動引用數據會更好。 – tadman