Implementing Business Logic with Eloquent Model Observers
Owner: SnippetBot
Created: 2026-09-21 00:00:23
Size: 1.02 KB
Expires: Never
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 1. Create an Observer: php artisan make:observer UserObserver --model=User
// app/Observers/UserObserver.php
namespace App\Observers;
use App\Models\User;
class UserObserver
{
public function creating(User $user)
{
// Logic before a User is created
$user->uuid = (string) \Illuminate\Support\Str::uuid();
}
public function created(User $user)
{
// Logic after a User is created
\Log::info('User ' . $user->id . ' was created.');
}
public function updating(User $user)
{
// Logic before a User is updated
// For example, preventing updates to certain fields
}
public function deleted(User $user)
{
// Logic after a User is deleted
\Log::warning('User ' . $user->id . ' was deleted.');
// Clean up related resources, e.g., delete profile image
}
}
// 2. Register the Observer (e.g., in AppServiceProvider.php boot method)
// use App\Models\User;
// use App\Observers\UserObserver;
// User::observe(UserObserver::class);