laravel 对查询结果的二次筛选
假设有表Scores 里面有 id,math,english等字段,现在要求按总分(数据库没有这个字段)来排序或者筛选,用having()方法就可以很方便解决这个问题。
1 $scores = Score::select('id',DB::raw('sum(math + english) as total'))
2 ->having('total', '>' ,190)
3 ->orderBy('total', 'desc')
4 ->get();
having()的使用方法和where()差不多。
注意:having()中使用的字段必须要在select查询字段中,否则会报错。