我有此错误信息
Relation passed to #or must be structurally compatible. Incompatible values: [:joins]
在我的用户模型中:has_many :orders
在我的订单模型中:belongs_to :user, optional: true
我应该如何在同一搜索输入中编写查询以包含用户名和订单ID?
def filter_orders
return if params[:query].blank?
@orders = Order.joins(:user).where('lower(users.first_name) LIKE ?', "%#{params[:query][:keyword]}%")
.or(Order.joins(:user).where('lower(users.last_name) LIKE ?', "%#{params[:query][:keyword]}%"))
.or(Order.where(id: "#{params[:query][:keyword]}.to_i"))
end
答案 0 :(得分:0)
听起来issue与.or
相似。尝试使用SQL或可以重写.or
所看到在这个答案:https://stackoverflow.com/a/40742512/10987825