Laravel 更新查询(向现有值添加值)

古纳西兰

我正在尝试使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章