Puedes actualizar varios documentos en una colección llamando al método update() 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 obtener más información sobre cómo actualizar datos con la Integración de Laravel, consulta la sección Modificar Documentos de la guía de Operaciones de Escritura.
Ejemplo
Selecciona de las siguientes pestañas Eloquent y Query Builder para ver ejemplos de uso de la misma operación que usa cada correspondiente sintaxis de query:
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.