TGViewer
| کانال توسعه‌دهندگان لاراول | | کانال توسعه‌دهندگان لاراول | @developixlaravel · 1.54K subscribers
Post #166 983
خیلی وقت‌ها توی پروژه‌های Laravel بی‌دلیل همهٔ ستون‌های جدول رو لود می‌کنیم، درحالی‌که فقط ۲–۳ تا فیلد لازم داریم. همین کار ساده می‌تونه رم، زمان اجرا و حجم پاسخ API رو بی‌خودی سنگین کنه. 🚀

به‌جای این:
$users = User::where('is_active', true)->get();


فقط همون فیلدهایی که لازم هست رو بگیر:
$users = User::where('is_active', true)
->select(['id', 'name', 'email'])
->get();


حالا اگه رابطه هم داری (مثلاً posts)، باز هم می‌شه کم‌حجم نگهش داشت:
$users = User::with(['posts:id,user_id,title'])
->select(['id', 'name'])
->get();


✅ نکته‌ها:
- ستون کلید خارجی (مثلاً user_id) حتماً توی select رابطه بیاد، وگرنه Eloquent نمی‌تونه رابطه رو درست مپ کنه.
- برای APIها و لیست‌های بزرگ (لیست کاربران، محصولات، گزارش‌ها) این کار واقعاً روی Performance تاثیر محسوس داره.
- موقع debug می‌شه موقتاً select رو برداشت تا مطمئن شد چیزی جا نمونده، بعد دوباره بهینه‌اش کرد. 😉

این عادت کوچیک که همیشه توی Queryها به select فکر کنی، جلوی کلی Memory Leak ریز و Query سنگین توی پروژه‌های بزرگ رو می‌گیره و API تمیزتر و سریع‌تری تحویل می‌ده. 💡

برای جزئیات بیشتر مستند رسمی Laravel در مورد Eloquent & Query Builder:
https://laravel.com/docs/11.x/queries#select-statements

🔖 #Laravel #PHP #لاراول #Laravel #Eloquent #Performance #Query #select

👤 Developix

💎 Channel: @DevelopixLaravel
  • 👍 19
  • 🔥 2
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 →