使用条件的Rails查询包括不返回对象

时间:2014-07-27 00:39:15

标签: ruby-on-rails

我有以下关联:

Order has_many Items
Item has_many Keys

我想查找给定订单的所有商品,并获取“已使用”属性为真的那些键。如果该属性不正确,请不要给我回复键,但我仍然想要这些项目。

我试过这样做:

@order = Order.find(3)
@items = @order.items.includes(:keys).where('keys.used',true).references('keys')

但这不会返回任何结果,我希望它返回那些项目,即使没有使用属性为true的键。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

试试这个

@order = Order.find(3)
@items = @order.items.joins(:keys).where(keys: {used: true})

参考:http://guides.rubyonrails.org/active_record_querying.html#joining-tables