Skip to content

Instantly share code, notes, and snippets.

@thiagoszbarros
Last active January 25, 2023 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thiagoszbarros/554d00cc5d81edc434e6d927e6968d78 to your computer and use it in GitHub Desktop.
Save thiagoszbarros/554d00cc5d81edc434e6d927e6968d78 to your computer and use it in GitHub Desktop.
Métodos Updating/Updated e Deleting/Deleted não funcionam no Observer?

Métodos Updating/Updated e Deleting/Deleted não funcionam no Observer?

https://laravel.com/docs/8.x/eloquent#observers

Por padrão, quando realizamos alterações em massa em um model via eloquent, nenhum evento será disparado para os models afetados. Basicamente significa utilizar o where('xpto', $xpto) para encontrar registros no banco de dados. Mesmo que via de regra utilizemos o where() para encontrar um id, o eloquent não vai disparar eventos.

P: O que fazer fazer para resolver?

R: Forçar a consulta a devolver um registro único utilizando o where('id', $id)->first()->update(['campo' => $campo])/delete(); ou

$var = Model::find($id); $var->update(); $var->save(); /$var->delete();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment