[英]Refactoring SQL
我必須從Rails應用程序連接到Java應用程序上的遠程數據庫。
我有這樣的查詢:
find_by_sql("select c_templateid, c_templateinfoid, c_startdate, c_enddate, c_active,
campaign, shortcode, prefix, c_descriptivename, c_description, c_templatename
from (active_services aser join activity a on aser.c_primaryprefixid =
a.c_primaryprefixid ) join matrix_templateinfo using(c_templateinfoid)
where campaign is not null)")
我需要將其重構為AR#find()方法,因為稍后我想在其上添加復雜的:condition。 我不想將它們轉換為字符串,然后再附加到find_by_sql方法。
find(:all,
:select => "c_templateid, c_templateinfoid, c_startdate, c_enddate, c_active,
campaign, shortcode, prefix, c_descriptivename, c_description, c_templatename",
# :joins => WHAT I SHOULD DO HERE ?
:conditions => "campaign is not null"
)
您也可以在:joins中指定復雜的聯接
:joins => "matrix_templateinfo ON <conditions go here> AND campaing IS NOT NULL"
但是如果您使用rails,那么您應該真正開始對您的字段名稱進行ronroned:]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.