我有两个查询,需要它们之间使用or
,也就是我想要返回第一个查询或者第二个查询中的结果。
第一个查询是一个简单的where()
,可以获取所有可用的项目。
@items = @items.where(available: true)
第二步包括使用join()
方法并获取当前用户的物品。
@items =
@items
.joins(:orders)
.where(orders: { user_id: current_user.id})
我尝试将它们与Rails的or()
方法以不同形式组合,包括:
@items =
@items
.joins(:orders)
.where(orders: { user_id: current_user.id})
.or(
@items
.joins(:orders)
.where(available: true)
)
但我一直遇到这个错误,不确定如何解决。
Relation passed to #or must be structurally compatible. Incompatible values: [:references]