I have two queries, I need an or
between them, i.e. I want results that are returned by either the first or the second query.
First query is a simple where()
which gets all available items.
@items = @items.where(available: true)
Second includes a join()
and gives the current user's items.
@items =
@items
.joins(:orders)
.where(orders: { user_id: current_user.id})
I tried to combine these with Rails' or()
method in various forms, including:
@items =
@items
.joins(:orders)
.where(orders: { user_id: current_user.id})
.or(
@items
.joins(:orders)
.where(available: true)
)
But I keep running into this error and I'm not sure how to fix it.
Relation passed to #or must be structurally compatible. Incompatible values: [:references]
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…