将指定SUM聚合SQL查询转换为Laravel Eloquent语句
把SQL转换为Laravel Eloquent的几种实现方式
没问题,这就帮你把给定的SQL转换成Laravel里的Eloquent写法,给你列两种常用的实现方式:
方式一:使用DB查询构造器
如果不想创建模型,直接用DB门面就能快速实现:
$totalSkor = DB::table('lembar_siswa') ->where('id_siswa', 143) ->where('token', 'fvgsJqTw') ->whereColumn('kunci_jawaban', '=', 'jawaban') // 关键:用whereColumn比较同表的两个字段 ->sum('skor');
方式二:使用Eloquent模型(推荐)
如果你已经为lembar_siswa表创建了对应的模型(比如命名为LembarSiswa),写法会更简洁优雅:
// 先确保模型存在:app/Models/LembarSiswa.php $totalSkor = LembarSiswa::where('id_siswa', 143) ->where('token', 'fvgsJqTw') ->whereColumn('kunci_jawaban', 'jawaban') // 这里的'='可以省略,默认就是等于比较 ->sum('skor');
额外小提示
如果需要同时比较多个字段,或者想让代码更直观,whereColumn也支持数组形式:
->whereColumn([ ['kunci_jawaban', '=', 'jawaban'], // 可以添加更多字段比较规则 ])
内容的提问来源于stack exchange,提问作者Fariz harsu
相关产品推荐
相关产品推荐

