开始学习laravel了 ,每天都简单的记上一笔。
数据库:
万事留个后手,万一不会laravel里面的组装方式怎么办,先想办法找到使用原生sql的查询方法,手中有底牌,心中才不慌。
模型类里面
首先你要用原生的方法,查询:
然后是具体的语句了
self::selectRaw("xxxxxxxxxxxxxxxxxxx")->get();
统计当中经常 可能会用到 sum ,如何出彩一点
$res = self::selectRaw("
SUM(CASE confirmed = 1 THEN 1 ELSE 0 END) AS num_confirmed,
SUM(CASE confirmed = 0 THEN score ELSE 0 END) AS score_confirmed,
")->toSql();
# toSql()方法,可以让你得到组装之后的sql语句,dd一下 然后再命令行里面跑一下先,如
# self 是本模型
# 1.你get()得到的是一个集合,所以传到blade里面的时候,要用类似对象的属性的方式 进行使用,如 $res->num_comfirmed;
# 2.即使你get()得到的结果只有一条,也不能如上直接使用,而应该 $res[0]->num_confirmed ;当然这个工作可以在传到前台之前就完成了
# 3.@foreach($results as $res) {{$res->confirmed}} @endforeach :blade里面遍历你传过来的结果
# 4.使用case的时候 千万不要忘记了end