Rails活动记录查询结果

叛徒

在Rails 3教程之后,我定义了一个范围来限制orders列,并使用一个助手方法对结果求和

class LineItem < ActiveRecord::Base
attr_accessible :cart_id, :product_id, :cart, :product, :quantity

belongs_to :order
belongs_to :product
belongs_to :cart

scope :order, -> {where("order != nil")}
end

帮手

 module StoreHelper

  def total_product_sold (product)    
 product.line_items.total_product.sum("quantity")
end

问题是,当我从我的视图中调用total_product_sold时,它会将订单列中的所有数据求和,而不是仅将订单号为!= nil的那些求和。

我也尝试定义一个类方法而不是范围

 def self.total_product
 where(order !=nil)
 end

但这给了我完全相同的结果。我究竟做错了什么?如何获取仅添加订单列不为零的商品的信息?

品尼

您无法使用来查找非NULL的记录!= nil您需要使用SQL语法IS NOT NULL

scope :order, -> { where("line_items.order_id IS NOT NULL") }

或者:

def self.total_product
  where("line_items.order_id IS NOT NULL")
end

或者,您可以加入:order有效地为您进行过滤关联。但是,这会导致性能下降:

def total_product_sold (product)     
  product.line_items.joins(:order).sum("quantity")
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4活动记录查询

来自分类Dev

Ruby on Rails活动记录查询

来自分类Dev

在Rails活动记录查询中使用联接时如何获取第二张表的结果

来自分类Dev

在Rails活动记录查询中使用联接时如何获取第二张表的结果

来自分类Dev

Rails 活动记录查询:加入子条件以仅包含匹配的结果

来自分类Dev

Rails活动记录查询与“ exists”的关联

来自分类Dev

Rails-find_by_sql与活动记录查询

来自分类Dev

Rails 5在哪里或活动记录查询

来自分类Dev

Rails活动记录查询与“ exists”的关联

来自分类Dev

Ruby on Rails活动记录查询界面

来自分类Dev

Rails营业时间查询活动记录

来自分类Dev

如何从Rails的活动记录结果数组中删除记录?

来自分类Dev

Postgres数据库查询以过滤活动记录结果

来自分类Dev

Rails活动记录以从多个表中获取结果

来自分类Dev

如何使用Rails活动记录查询中包含的联接?

来自分类Dev

无法在Rails 3.1.11的活动记录中查询“组”

来自分类Dev

Rails活动记录查询嵌套关联是否存在

来自分类Dev

原始sql查询和使用活动记录查询的查询写法给出了不同的结果

来自分类Dev

yii活动记录NOT IN查询

来自分类Dev

活动记录联接查询

来自分类Dev

活动记录查询-链接

来自分类Dev

Ruby on Rails活动记录

来自分类Dev

为什么这些活动记录查询结果会出现在我的视图中?

来自分类Dev

活动记录查询的DRY循环

来自分类Dev

查询数组与活动记录的关系

来自分类Dev

活动记录中的多个查询

来自分类Dev

活动记录高效查询通过

来自分类Dev

HABTM孤立记录-活动记录查询?

来自分类Dev

Rails-对活动记录结果的每一行进行逻辑运算

Related 相关文章

热门标签

归档