Puede actualizar varios documentos en una colección llamando al update() método en un generador de consultas.
Pase un filtro de consulta al método where() para recuperar los documentos que cumplen un conjunto de criterios. Luego, actualice los documentos coincidentes pasando los cambios deseados al método update().
Tip
Para obtener más información sobre cómo actualizar datos con la integración de Laravel, consulte la Sección Modificar documentos de la guía Operaciones de escritura.
Ejemplo
Seleccione entre las siguientes opciones Eloquent y Query Builder pestañas para ver ejemplos de uso para la misma operación que utilizan cada sintaxis de consulta correspondiente:
Este ejemplo realiza las siguientes acciones:
Utiliza el modelo Eloquent
Moviepara representar la colecciónmoviesen la base de datossample_mflixActualiza los documentos de la colección
moviesque coinciden con un filtro de consultaImprime 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 estableciendo su valor entrue, 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 los documentos de la colección
moviesque coinciden con un filtro de consultaImprime el número de documentos actualizados
El ejemplo llama a los siguientes métodos de generación de consultas:
where(): Coincide con documentos en los que el valor del campo anidadoimdb.ratinges mayor que9.0update():Actualiza los documentos coincidentes agregando un campoacclaimedy estableciendo su valor entrue, 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 su aplicación Laravel para ejecutar el ejemplo de uso, consulte la página de inicio de Ejemplos de uso.