ItSolutionStuff.com

Laravel Model Created Event Example

By Hardik Savani • November 5, 2023
Laravel

Hi Developer,

This article goes in detailed on laravel model created event. We will look at an example of how to use model created event in laravel. I explained simply about how to use created event in laravel model. you can understand a concept of laravel created event model. Follow the below tutorial step of laravel created event in model.

In Laravel, you can use model events to perform actions when a model is being created, updated, deleted, etc. To demonstrate how to use the `created` event in a Laravel model, I'll provide you with an example. Let's assume you have a `Post` model, and you want to automatically call event after create post record. You can do this using the `created` event.

I will give you simple example of how to call created event in from model. so, let's see the very simple example:

Create Post Model:

1. Create the `Post` model using the Artisan command:

php artisan make:model Post

2. In the generated `Post` model, you can define the `created` event using the `static::created` method. Here's an example:

app/Models/Post.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Support\Str;

class Post extends Model

{

protected $fillable = ['title', 'content', 'slug'];

/**

* Write code on Method

*

* @return response()

*/

protected static function boot()

{

parent::boot();

static::creating(function ($post) {

info('Creating event call: '.$post);

$post->slug = Str::slug($post->title);

});

static::created(function ($post) {

info('Created event call: '.$post);

});

}

}

Create Post Record:

In this example, when a new `Post` model is being created, the `creating` event is triggered, and we use a closure to generate a slug based on the `title` attribute. We're using the `Str::slug` method from Laravel to create a URL-friendly slug from the title.

3. Now, when you create a new `Post` instance and save it, the `creating` event will automatically set the slug for you. Here's how you can create a new post:

app/Http/Controllers/PostController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Post;

class PostController extends Controller

{

/**

* Display a listing of the resource.

*

* @return \Illuminate\Http\Response

*/

public function index(Request $request)

{

$post = Post::create([

'title' => 'This is Testing',

'content' => 'This is a Testing'

]);

dd($post);

}

}

Now, you can run following controller code and you will find following log for calling creating event and created event as like the below:

Output:

[2023-10-20 14:37:26] local.INFO: Creating event call: {"title":"This is Testing","content":"This is a Testing"}

[2023-10-20 14:37:26] local.INFO: Created event call: {"title":"This is Testing","content":"This is a Testing","slug":"this-is-

testing","updated_at":"2023-10-20T14:37:26.000000Z","created_at":"2023-10-20T14:37:26.000000Z","id":1}

I hope it can help you...

Tags: Laravel
Hardik Savani

Hardik Savani

I'm a full-stack developer, entrepreneur, and founder of ItSolutionStuff.com. Passionate about PHP, Laravel, JavaScript, and helping developers grow.

📺 Subscribe on YouTube

We Are Recommending You

Laravel 10 One to Many Eloquent Relationship Tutorial

Read Now →

Laravel Eloquent Group By with Month and Year Example

Read Now →

Laravel Eloquent Left Join Where Null Condition Example

Read Now →

Laravel Eloquent Model Custom Function Example

Read Now →

Laravel Copy Record using Eloquent Replicate Example

Read Now →

Laravel Eloquent Sum Multiple Columns Example

Read Now →

Laravel Eloquent withMin(), withMax() and withAvg() Example

Read Now →

Laravel Eloquent withSum() and withCount() Example

Read Now →

Laravel Eloquent updateOrCreate Example

Read Now →

Laravel Eloquent firstOrNew Example

Read Now →

Delete All Records from Table in Laravel Eloquent

Read Now →

Laravel Eloquent Order By Random Row Example

Read Now →

Laravel Eloquent Inner Join with Multiple Conditions Example

Read Now →

Laravel Eloquent Where Like Query Example Tutorial

Read Now →