当前位置: 首页 > 知识库问答 >
问题:

Laravel和已用数量在订单中与处理状态(其雄辩)

应和光
2023-03-14

我想查找附加到status=“processing”的订单的所有保留产品数量。

这是我目前的口才,但它不起作用:

$reserved_quantity = Order::processing()->with('products')->whereHas( 'products', function( $q ) use ($product) {
   $q->where( 'products.id', $product->id );
})->sum('products.quantity');

它将返回以下错误:

SQLSTATE[42S22]:未找到列:“字段列表”中的1054未知列“Products.Quantity”(SQL:从Orders中选择sum(Products.Quantity)作为聚合,其中Status=处理和存在(从Products上的Order_Product内部联接Order_Product中选择*。ID=

如何在一次查询中对这些数量进行计数/求和?


共有1个答案

宋航
2023-03-14

quantity位于order_product表中,因此您应该替换

->sum('products.quantity');

->sum('order_product.quantity');

正如@sta所指出的,您不需要在查询中使用和('products'),因为您只提取了总和。所以:

$reserved_quantity = Order::processing()
   ->whereHas( 'products', function( $q ) use ($product) {
      $q->where( 'products.id', $product->id );
   })
   ->sum('order_product.quantity');
 类似资料:
  • 1.自动收货完成如何设置? 商家可以在【交易设置】里面设置自动确认收货时间,从发货时间开始后粉丝没有在手机端点击确定收货,后台系统到时间自动确定收货。 2.订单可以修改价格吗? 订单在待付款状态下可以修改价格。 3.已经完成的订单为什么自动就关闭? 用户通过额外方式导入的订单数据,导入的订单数据为待支付状态,订单的创建时间到现在时间超出了订单自动关闭时间 所以订单自动关闭了。 4.支付时,扫码提示

  • 尝试先按最新日期,然后按状态订购我的表。状态可以是(新建、审核中、拒绝、关闭),状态是数据库中的枚举字段。 我试了几件事都没有成功。这是我对这个代码最接近的了。我是新来的Laravel,所以不知道如何做到这一点。 这就产生了: 我希望它看起来像这样,按日期排序,首先是最新的日期,然后是状态="New"。我希望它看起来像这样:

  • 如果‘处理’状态将自动更新为‘完成’,我想从woocommerce更改每个订单. 我尝试在functions.php文件中编写函数,但没有成功。 当我已经收到用户的付款时,如何在Woocommerce中自动将订单状态从“正在处理”更改为“已完成”? 我使用了这个代码,但它没有效果 感谢的

  • 我使用的是Laravel7.0和MySQL 5.7。 我使用Eloquent从数据库中获取记录,当数据库包含大量数据时,响应时间变得非常慢。 以下是几个例子:

  • mysql会员订阅数据表的设计应该如何设计?产品有订阅商品和非订阅的,每次都只能购买一个。 订阅有1个月 3个月的 每次到期自动扣费。如果在一个月类购买了几个订阅商品 则扣费按照最新的一个 然后延长到期时间。其实是不是每次订阅都不需要生成新订单的 翻阅了其他资料都找不到很好的设计

  • 用车类型码 计价类型(rule) 用车类型(require_level) 描述 301(快车) 600 普通快车 900 快车优享 201(专车) 203(专车接机) 204(专车送机) 100 舒适型 400 六座商务 200 行政级 501(豪华车) 503(豪华车接机) 504(豪华车送机) 1000 普通豪华车 订单状态返回码 状态码 描述 300 等待应答 311 订单超时 400 等待

  • 我想自动完成刚刚成功支付订单“完成”状态。我在Stack和Google上搜索了很多,找到了这个答案代码: Woocommerce:Auto complete Payed Orders(取决于支付方式) 但问题是,代码将所有下订单标记为“完成”状态,而不取决于订单是否成功下订单。 我需要在代码中更改什么,以便将只支付的订单自动转换为“已完成”状态?

  • 批量分单的结果会有成功、失败两种状态,其中失败又分为无坐标、无区划两种状态; 此处可对批量分单的所有状态结果进行归类 支持按照时间查询 支持对归类结果点击下载