入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

Laravel使用构建器来生成原生sql语句来对总和排序

创建时间:2016-05-24 投稿人: 浏览次数:3554

我们在使用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。