2014-11-20 36 views
0

在Rails中,我想將滿足特定條件的所有對象分配給變量。我通常會用像一份聲明中做到這一點:Rails在所有查詢中使用belongs_to字段查詢

pending_requests = Request.all.where(:requestee_id => current_user.id) 

我現在想要做的Exchange類,belongs_to的Request類類似的東西。

pending_exchanges = Exchange.all.where(? => current_user.id) 

The?需要等於比較Exchange對象所屬的特定請求對象中的requestee_id字段所需的任何代碼。 Exchange對象中有一個字段request_id,它包含它所屬的請求對象的ID。

回答

1
Exchange.joins(:request).where("requests.requestee_id" => current_user.id) 

在SQL查詢中的其他表的字段的joins拉,這樣你可以有它是指他們在where子句。我假設請求表的名稱是requests