您可以通过检索单个文档并在 Eloquent 模型上调用 update() 方法更新集合中的文档。
将查询过滤传递给where()方法,对匹配的文档进行排序,然后调用first()方法以仅检索第一个文档。 然后,通过将预期的文档更改传递给update()方法来更新此匹配文档。
提示
要学习;了解有关使用 Laravel 集成更新数据的更多信息,请参阅 写入操作指南的 修改文档 部分。
例子
此示例将执行以下动作:
使用
MovieEloquent 模型表示sample_mflix数据库中的movies集合更新
movies集合中与查询过滤匹配的文档打印已更新文档的数量
该示例在Movie模型上调用以下方法:
where():匹配title字段值为"Carol"的文档orderBy():按_id值升序对匹配的文档进行排序first():仅检索第一个匹配的文档update():将imdb.rating嵌套字段的值从6.9更新为7.3,并将imdb.votes嵌套字段的值从493更新为142000
$updates = Movie::where('title', 'Carol') ->orderBy('id') ->first() ->update([ 'imdb' => [ 'rating' => 7.3, 'votes' => 142000, ], ]); echo 'Updated documents: ' . $updates;
Updated documents: 1
要了解如何编辑 Laravel 应用程序以运行用法示例,请参阅用法示例登录页面。