php - Laravel Eloquent Sum of relationship 的列

标签 php laravel eloquent relation

我一直在开发购物车应用程序,现在我遇到了以下问题..

有一个用户、一个产品和一个购物车对象。

  • Cart 表仅包含以下列:iduser_idproduct_id 和时间戳。
  • UserModel hasMany 购物车(因为一个用户可以存储多个产品)。
  • CartModel belongsTo 用户和 CartModel hasMany 产品。

现在计算我可以调用的产品总数:Auth::user()->cart()->count()

我的问题是:我怎样才能得到这个用户在购物车中的产品的价格(产品列)的SUM()
我想用 Eloquent 来完成这个,而不是使用查询(主要是因为我相信它更干净)。

最佳答案

Auth::user()->products->sum('price');

文档中的一些 Collection 方法略显简单,但除了 avg() 之外的所有查询构建器聚合似乎都可用,可以在 http://laravel.com/docs/queries#aggregates 找到.

关于php - Laravel Eloquent Sum of relationship 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21679678/

相关文章:

php - SELECT(MAX) SQL 到 Eloquent,无需原始数据

php - 保存与多列的关系

php - CodeIgniter Sqlite 不工作

php - ColdFusion 或 PHP 购物脚本

laravel - 什么时候在 Laravel 中使用 PATCH 和 PUT 方法?

php - Laravel Echo + VueJS 广播/授权问题

validation - 如何从 FormRequest 类方法中访问当前经过身份验证的用户

php - 如何防止MySQL sleep 注入(inject)?

php - 在php中获取真实IP的问题

php - 我怎样才能在 php 中驼峰转换一个字符串