【问题标题】:How to sum two field in laravel mongodb?如何对 laravel mongodb 中的两个字段求和?
【发布时间】:2017-04-08 22:40:14
【问题描述】:

我从这里得到参考:https://github.com/jenssegers/laravel-mongodb

如果在 mysql 查询中是这样的:

SELECT SUM(tota_salary), SUM(total_player) 
FROM club
WHERE code_club = 9

我想用 laravel eloquent 改一下

从文档 laravel mongodb,我尝试这样:

Club::where('code_club', '=', 9)
     ->sum('total_salary')
     ->sum('total_player');

存在这样的错误:

在 float 上调用成员函数 sum()

如果我只有 1 个这样的总和:

Club::where('code_club', '=', 9)
     ->sum('total_salary');

有效

为什么使用 2 sum 会失败?

【问题讨论】:

  • ofc,因为 sum 方法不会返回对象,但会返回我猜的总和值

标签: php mysql mongodb laravel laravel-5.3


【解决方案1】:

这里有一个解决方法

  $clubs = Club::where('code_club', '=', 9)->get(); // or first() idk

 $data['sum_player'] = $clubs->sum('total_player');
 $data['sum_salery'] = $clubs->sum('total_salary');

【讨论】:

  • 它有效。但是当使用getfirst 时,它会保持更长时间。当我有一些上万的数据时,显示数据需要很长时间
猜你喜欢
  • 2014-09-11
  • 2020-06-28
  • 1970-01-01
  • 1970-01-01
  • 2013-01-30
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
相关资源
最近更新 更多