我正在使用Slim Framework,我想做的是计算一定数量的特定用户。
这是我的桌子
load_up_id user_id amount
1 1 1000
2 1 1000
3 1 2000
4 2 3000
5 2 1000
我想获得user_id
号的总量。1,但它不是4000
,而是给我2000
这是我的代码
$loadups = $this->loadupPayment->where('user_id', $this->auth->user()->user_id)->get();
$total_loadup = $this->loadupPayment->select(db::raw('sum(amount) as total_loadup'))->groupBy('user_id')->get();
预先感谢您!:D
,所以您想要特定的用户ID?试试这个:
$total_loadup = $this->loadupPayment->select(db::raw('sum(amount) as total_loadup'))->where('user_id', $this->auth->user()->user_id)->get();
我认为而不是按用户ID进行分组,您需要在SUM语句中使用用户ID作为案例。从本质上讲,这是总和计算中的原因,因此您可以说用户ID是我想要的用户ID时(在这种情况1(添加值,如果不只是忽略它。
尝试这样的东西
$total_loadup = $this->loadupPayment->select(db::raw('SUM(CASE WHEN user_id = 1 THEN amount ELSE 0 END) as total_loadup'))->get();
您可能需要在上述参数中参数用户ID值。
希望这会有所帮助!