Puedes actualizar varios documentos en una colección llamando al update() método en un generador de consultas.
Pasa un filtro de query al método where() para recuperar documentos que cumplan con un conjunto de criterios. Luego, actualiza los documentos coincidentes pasando los cambios del documento previstos al método update().
Tip
Para aprender más sobre cómo actualizar datos con la Integración de Laravel, consulte la Modificar Documentos sección de la guía de Operaciones de escritura.
Ejemplo
Seleccione de lo siguiente Eloquent y Query Builder pestañas para ver ejemplos de uso de la misma operación que usan cada sintaxis de query correspondiente:
Este ejemplo realiza las siguientes acciones:
Utiliza el modelo
MovieEloquent para representar la colecciónmoviesen la base de datossample_mflixActualiza documentos de la colección
moviesque coincidan con un filtro de queryImprime el número de documentos actualizados
El ejemplo llama a los siguientes métodos en el modelo Movie:
where()Coincide con documentos en los que el valor del campo anidadoimdb.ratinges mayor que9.0update(): Actualiza los documentos coincidentes agregando un campoacclaimedy asignando su valor atrue, luego devuelve el número de documentos actualizados
$updates = Movie::where('imdb.rating', '>', 9.0) ->update(['acclaimed' => true]); echo 'Updated documents: ' . $updates;
Updated documents: 20
Este ejemplo realiza las siguientes acciones:
Accede a la colección
moviesllamando al métodotable()desde la fachadaDBActualiza documentos de la colección
moviesque coincidan con un filtro de queryImprime el número de documentos actualizados
El ejemplo llama a los siguientes métodos para crear query:
where()Coincide con documentos en los que el valor del campo anidadoimdb.ratinges mayor que9.0update(): Actualiza los documentos coincidentes agregando un campoacclaimedy asignando su valor atrue, luego devuelve el número de documentos actualizados
$updates = DB::table('movies') ->where('imdb.rating', '>', 9.0) ->update(['acclaimed' => true]); echo 'Updated documents: ' . $updates;
Updated documents: 20
Para aprender a editar tu aplicación Laravel para ejecutar el ejemplo de uso, consulta la página de Ejemplos de Uso.