2014-11-20 72 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