在Rails中,我想将满足特定条件的所有对象分配给变量。我通常会这样做,如:
pending_requests = Request.all.where(:requestee_id => current_user.id)
我现在想为Exchange类做类似的事情,它属于Request类。
pending_exchanges = Exchange.all.where(? => current_user.id)
?需要等于比较Exchange对象所属的特定Request对象中的requestee_id字段所需的任何代码。 Exchange对象中有一个字段request_id,用于保存它所属的请求对象的ID。
答案 0 :(得分:1)
Exchange.joins(:request).where("requests.requestee_id" => current_user.id)
joins
拉入SQL查询中的其他表的字段,以便您可以使用where子句引用它们。我假设Request表的名称是requests
。