Você pode atualizar um documento em uma coleção recuperando um único documento e chamando o método update() em um modelo Eloquent.
Passe um filtro de query para o método where() , classifique os documentos correspondentes e chame o método first() para recuperar apenas o primeiro documento. Em seguida, atualize esse documento correspondente passando as alterações destinadas ao documento para o método update() .
Dica
Para saber mais sobre como atualizar dados com a integração do Laravel, consulte a seção Modificar documentos do guia Operações de gravação.
Exemplo
Este exemplo executa as seguintes ações:
Utiliza o modelo
MovieEloquent para representar a coleção dosample_mflixmoviesbanco de dados doAtualiza um documento da collection
moviesque corresponde ao filtro de queryImprime o número de documentos atualizados
O exemplo chama os seguintes métodos no modelo Movie :
where(): corresponde a documentos em que o valor do campotitleé"Carol"orderBy(): classifica documentos correspondentes por seus valores de_idcrescentesfirst(): recupera somente o primeiro documento correspondenteupdate(): Atualiza o valor do campo aninhadoimdb.ratingde6.9para7.3e o valor do campo aninhadoimdb.votesde493para142000
$updates = Movie::where('title', 'Carol') ->orderBy('_id') ->first() ->update([ 'imdb' => [ 'rating' => 7.3, 'votes' => 142000, ], ]); echo 'Updated documents: ' . $updates;
Updated documents: 1
Para saber como editar seu aplicativo Laravel para executar o exemplo de uso, consulte a página de exemplos de uso.