我正在尝试使用 Laravel 更新记录。
我经历了很多 StackOverflow Questions 来检查这个问题是否已经被提出。
mysql 查询: UPDATE students SET total_marks = total_marks + 80 WHERE id = 1
我必须将此 mysql 查询转换为 Laravel 查询构建器,但还没有找到解决方案。
我们可以使用 Laravel Query Builder 使用一个更新查询来更新表,而不是在更新之前从 DB 获取早期值。
2 查询方式:
$student_marks = Students::select('total_marks')->where('id','=',1);
$current_mark = $student_marks['total_marks']+80;
$update_student_marks = Students::where('id','=',1)->update('total_marks','=',$current_mark);
如何在 Laravel 中使用单个查询构建器更新这样的记录。
我认为您需要对查询进行一些调整。
首先,您需要正确选择学生,然后在将属性设置为正确值后使用 Eloquent 对其调用 save 方法。我假设你在 Laravel 6 上。
$student_marks = Students::find($id);
$student_marks->total_marks += 80;
$student_marks->save();
请看一下 Laravel 文档:
https://laravel.com/docs/6.x/eloquent
阅读需要一些时间,但绝对值得。您将学习如何使用最合适的技术处理 eloquent 并改进您的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句