使用Laravel Eloquent一次返回多个表列以及另一列的总和

时间:2019-05-27 09:34:18

标签: sql laravel-5 eloquent

我的数据库中有一个名为stocks的表。在表中,我有两列product_id,在其他列中提供。因此,当我获得供应时,我将条目添加到表中,表看起来像这样;

product_id             supplied
1                         10
2                         15
5                          5
2                         12
4                         10
5                         12
2                          5
1                         12
4                         12

现在,我想使用laravel雄辩地通过product_id选择库存,这样返回库存中的物品总数;

product_id       total_in_stock
    1                22
    2                32
    4                22
    5                17

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用SUM和groupBy:

Stock
    ::selectRaw('product_id, SUM(supplied) as total_in_stock')
    ->groupBy('product_id')
    ->get();