Factories لاراول
بریم سراغ یکی از ابزارهای فوقالعاده کاربردی در لاراول برای ساخت دادههای تستی:
🏭 Factories در لاراول
🧩 چی هستن Factories؟
Factories ابزاری هستن برای ساخت سریع و آسان رکوردهای تستی در دیتابیس. مخصوصاً برای:
-
تست با PHPUnit
-
Seed کردن دیتابیس
-
توسعه سریع API با دادههای فرضی
🛠 ایجاد یک Factory
فرض کن مدلی به نام Post داری. برای ساخت Factory:
فایل ساخته میشه در مسیر:
database/factories/PostFactory.php
✍️ ساختار یک Factory
✅ استفاده از $this->faker برای ساخت دادههای فیک.
⚙️ استفاده از Factory برای ساخت داده
🔹 ۱. ساخت یک رکورد:
🔹 ۲. ساخت چند رکورد:
🔹 ۳. ساخت بدون ذخیره در دیتابیس:
🔗 ساخت با روابط
البته برای این مورد باید در
UserFactoryرابطهhasPosts()رو تعریف کنی.
🧪 استفاده در تستها
🌱 استفاده در Seeders
و اجرا:
📦 جمعبندی سریع
| عمل | کد |
|---|---|
| ساخت Factory | make:factory |
| ساخت یک رکورد | Post::factory()->create() |
| ساخت چند رکورد | ->count(10)->create() |
| ساخت بدون ذخیره | ->make() |
| همراه با روابط | ->hasPosts(3)->create() |