2011-06-01 34 views
0

當我使用searchlogic,我couuld使用以下命令:如何在Rails 3中的metawhere中搜索關聯?

27 #  @todos = Todo.contact_user_id_is(current_user). 
28 #     contact_campaign_id_is(@campaign). 
29 #     current_date_lte(Date.today). 
30 #     done_date_null. 
31 #     ascend_by_contact_id. 
32 #     ascend_by_current_date 

例如,它可以讓我搜索活動屬於該屬於日程記錄的聯繫人。

這是我試過(不知道怎麼辦排序:

22  @todos = Todo.joins(:contacts).where(:user_id.eq => current_user, 
23       :contacts => { :campaign_id.eq => @campaign.id}, 
24       :current_date.lteq => Date.today, 
25       :done_date.not_eq => nil) 

我怎樣做類似的東西與metawhere

回答

0

如果藤belongs_to的或HAS_ONE接觸,這是我? 「M假設是基於上述Searchlogic查詢的情況下,你會想這樣做(未經測試):

@todos = Todo.joins(:contact). 
       where(
       :contact => { 
        :user_id => current_user.id, 
        :campaign_id => @campaign.id 
       }, 
       :current_date.lteq => Date.today, 
       :done_date.not_eq => nil 
      ). 
       order(:contact_id, :current_date) 
+0

是的,我認爲這是正確的事情,但由於某些原因,它不出來對,但讓我多玩一點,也許我做錯了什麼......我想我使用了多個連接(:聯繫人)......這只是單數,呵呵? – Angela 2011-06-15 22:11:33