بهجای این:
$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