Laravel使用构建器来生成原生sql语句来对总和排序
我们在使用laravel时,会有一些特殊情况,例如我们有个考试成绩表,上面有多次考试,有多个学生,怎么实现拿到单个学生的单次考试成绩总和以便进行排序呢?
$students = ScoreView::where("classid",$class_id)->where("examid",$id) ->selectRaw("studentnum,studentname,sum(score) as scoresum") //使用原生sql,计算总和,别名叫做scoresum,同理还有whereRaw等,只要加了Raw就可以用原生语句 ->groupBy("studentnum") //根据学生来分组 ->orderby("scoresum","desc")->get(); //orderByRaw("scoresum desc")这种写法也可以
这样就能拿到我们需要的,前面那个scoreview是model.代表一张数据表,现在我们这样就把laravel和原生sql结合起来了。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: Laravel Excel导出xls乱码
- 下一篇: Linux php安装fileinfo扩展