TGViewer
| کانال توسعه‌دهندگان لاراول | | کانال توسعه‌دهندگان لاراول | @developixlaravel · 1.54K subscribers
Post #115 805
فصل چهار - مدل‌ها و 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, #PHP, #لاراول, #فصل_۴

👤 AmirHossein

💎 Channel: @DevelopixLaravel
  • ❤ 4
  • 👍 4
More from @developixlaravel
  1. Oct 1, 2026روابط پایگاه داده چند ریختی یا Eloquent Polymorphic در لاراول - قسمت اول در لاراول، روابط…
  2. Sep 30, 2026مدیریت همزمانی و قفل‌گذاری روی پردازش‌ها در لاراول (Laravel Atomic Locks) در بخش چهارم از…
  3. Sep 26, 2026🔥 پکیج: ورود با حساب‌های دیگر؛ Socialite برای اضافه‌کردن ورود با حساب‌های دیگر به پروژه ل…
  4. Sep 25, 2026🔒 فقط داده‌های تأییدشده را ذخیره کن وقتی یک فرم ویرایش پروفایل داری، ممکن است کلاینت علاو…
  5. Sep 20, 2026حفاظت از پردازش ها با Laravel Rate Limiter بخش سوم - پیکربندی در قسمت سوم از مجموعه آموزش…
  6. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
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 →