Laravel 9 Model Observers Example Tutorial

https://www.itsolutionstuff.com/post/laravel-9-model-observers-example-tutorialexample.html

Here, I will show you how to work laravel 9 observers example. this example will help you how to use laravel 9 model observers. I would like to show you what is observers in laravel 9. This tutorial will give you a simple example of laravel 9 model observers. Here, Creating a basic example of laravel 9 events and observers.

Laravel Observers are used to group event listeners for a model eloquent. Laravel Observers will listener event for a model eloquent method like create, update and delete.

I will give you very simple definition and use of laravel observers is, when you need to generate slug or auto generate unique id or something like logic add before or after create record then observers will help you. i will give you bellow events that provide by observers and simple example bellow:

Eloquent Hook

  • Retrieved: after a record has been retrieved.

  • Creating: before a record has been created.

  • Created: after a record has been created.

  • Updating: before a record is updated.

  • Updated: after a record has been updated.

  • Saving: before a record is saved (either created orupdated).

  • Saved: after a record has been saved (either created orupdated).

  • Deleting: before a record is deleted or soft-deleted.

  • Deleted: after a record has been deleted or soft-deleted.

  • Restoring: before a soft-deleted record is going to berestored.

  • Restored: after a soft-deleted record has been restored.

Example:

Now here we will see simple example, i have one product model and it has name, slug, price and unique_id column. so i need to create one record with name an price only. but when it's create i need to generate slug from name and auto generate unique_id.

so let's see how to create observers class and how it will works:

app/Models/Product.php

Create observers class for Product. So, create bellow command:

app/Observers/ProductObserver.php

Register Observers class on provider.

app/Providers/EventServiceProvider.php

Create Demo Route:

routes/web.php

Create Controller Route:

app/Http/Controllers/ProductController.php

Read Also: Laravel 9 Socialite Login with Google Account Example

now you can run project and see.

it will create record as like bellow:

I hope it can help you...

Last updated

Was this helpful?