我需要使用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();
答案 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)"))