我试图想出一个更好的方法来在这里进行一次查询。我希望能够发送一些内容来声明通配符,以便我可以选择所有供应商。现在,如果我不包含该行,它不会被供应商过滤,所以我基本上可以获得所有购买请求。
有什么想法可以更清晰地进行这类查询吗?
ReferenceError: count is not defined
答案 0 :(得分:3)
必须有一些更好的解决方案,但试试这个
@purchase_requests = PurchaseRequest.includes(:purchase_order).where(created_at: @date_start..@date_end, total_cost: @cost_beginning..@cost_end)
@purchase_requests = @purchase_requests.where("purchaseorder.VendorRef_ListID = ?", @vendor) unless @vendor == "0"
答案 1 :(得分:1)
这是一个简化版本:
@purchase_requests = PurchaseRequest
.includes(:purchase_order)
.where(created_at: @date_start..@date_end)
.where(total_cost: @cost_beginning..@cost_end)
@purchase_requests = @purchase_requests.where('purchase_orders.VendorRef_ListID = ?', @vendor) unless @vendor == '0'