TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 611 subscribers
Post #333 242
فصل چهار - مدل‌ها و Eloquent ORM

بخش هفتم - Events


ایونت ها به شما اجازه می‌دهند تا قبل و بعد از رخ دادن عملیات‌های مختلفی روی مدل‌ها (مانند ایجاد، به‌روزرسانی، حذف و غیره) کدهای دلخواهی را اجرا کنید. این قابلیت به شما امکان می‌دهد تا فرآیندهایی مانند ثبت لاگ‌ها، ارسال اعلان‌ها، اعتبارسنجی‌ها و سایر عملیات وابسته به مدل‌ها را به‌صورت خودکار و در لحظه مدیریت کنید.

لاراول رویدادهای مختلفی را برای مدل‌ها فراهم می‌کند که می‌توانید آن‌ها را در هر مرحله از چرخه حیات یک مدل استفاده کنید. این رویدادها به شما اجازه می‌دهند قبل یا بعد از عملیاتی مانند ایجاد، به‌روزرسانی، حذف یا بازگردانی رکوردها، کدهای سفارشی خود را اجرا کنید.

لیست رویدادهای Eloquent

1- رویداد retrieved
بعد از اینکه یک مدل از دیتابیس بازیابی شد، اجرا می‌شود.

2- رویداد creating
قبل از ایجاد یک رکورد جدید در دیتابیس اجرا می‌شود.

3- رویداد created
بعد از ایجاد یک رکورد جدید اجرا می‌شود.

4- رویداد updating
قبل از به‌روزرسانی یک رکورد اجرا می‌شود.

5- رویداد updated
بعد از به‌روزرسانی یک رکورد اجرا می‌شود.

6- رویداد saving
قبل از ذخیره‌شدن (چه ایجاد و چه به‌روزرسانی) یک مدل اجرا می‌شود.

7- رویداد saved
بعد از ذخیره‌شدن یک مدل اجرا می‌شود.

8- رویداد deleting
قبل از حذف یک رکورد اجرا می‌شود.

9- رویداد deleted
بعد از حذف یک رکورد اجرا می‌شود.

10- رویداد restoring
قبل از بازگردانی یک رکورد حذف‌شده اجرا می‌شود.

11- رویداد restored
بعد از بازگردانی یک رکورد حذف‌شده اجرا می‌شود.

12- رویداد trashed
بعد از soft delete شدن یک رکورد اجرا می شود.

13- رویداد forceDeleting
قبل از حذف کامل حتی با وجود soft delete اجرا می شود.

14- رویداد forceDeleted
بعد از حذف کامل حتی با وجود soft delete اجرا می شود.

15- رویداد replicating
قبل از replicate شدن یک رکورد اجرا می شود.


برای استفاده از رویدادها در Eloquent، شما می‌توانید از متد boot() در مدل خود استفاده کنید و در آن رویدادهای دلخواه را تعریف کنید.
protected static function boot()
{
parent::boot();
static::creating(function ($user) {
Log::info('Creating new user: ' . $user->name);
});

static::created(function ($user) {
Log::info('New user Created: ' . $user->name);
});
}


در این مثال:
در رویداد creating، لاگ مربوط به زمانی که یک کاربر جدید در حال ایجاد است ثبت می‌شود.
در رویداد created، لاگ مربوط به زمانی که یک کاربر با موفقیت ایجاد شد ثبت می‌شود.

▫️ 🟠
🔎 #laravel #لاراول #فصل_۴
💠 @AmirhDeveloper
.
  • ❤ 1
  • 🔥 1
More from @amirhdeveloper
  1. Sep 30, 2026پکیج LaraGram Sentinel منتشر شد؛ یک پنل مانیتورینگ که هیچ چیزی از زیر دستش در نمی‌ره! تمام…
  2. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  3. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  4. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  5. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  6. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →