【发布时间】:2019-06-26 21:23:31
【问题描述】:
我收到此错误消息
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
【问题讨论】:
-
你能发布更多代码吗?特别是 User 和 Order 模型?
-
我添加了关系:)
标签: sql ruby-on-rails