Laravel - 两个日期之间的总和值

时间:2017-06-06 13:06:53

标签: laravel

我需要使用Laravel db :: table对值进行求和,并在两个日期之间得到结果,例如:

日期:05/30/2016已售:1  日期:05/31/2016已售:2

结果应该卖出:3

这是按日期过滤器给出的搜索结果,我做了类似的事情而没有结果:

DB::table('sales')
 ->where('date',$date_from)
 ->where('date',$date_to)
 ->selectRaw('sum(price)')
 ->selectRaw('id')
 ->groupBy('id')
 ->get(); 

3 个答案:

答案 0 :(得分:1)

使用<>按日期过滤结果:

->where('date', '>', $date_from)
->where('date', '<', $date_to)

或使用whereBetween()

->whereBetween('date', [$date_from, $date_to])

答案 1 :(得分:1)

你应该使用whereBetween(),试试这个

DB::table('sales')
->whereBetween('date', [$date_from, $date_to])
->selectRaw('sum(price)')
->selectRaw('id')
->groupBy('id')
->get(); 

答案 2 :(得分:0)

您应该使用whereBetween功能,我认为您使用了错误的组:

DB::table('sales')
        ->whereBetween('date', [$date_from, $date_to])
        ->groupBy('date')
        ->sum('price');

如果日期列的类型是“DATETIME”,您应该使用:

->groupBy(DB::raw("DATE(date)"))