Eloquent Best Practices
Select Specific Columns
// Slow
User::all();
// Fast
User::select('id', 'name', 'email')->get();
Use Indexes
Schema::table('orders', function (Blueprint $table) {
$table->index(['user_id', 'created_at']);
});
Avoid N+1 with Cursor
// Memory efficient for large datasets
foreach (User::cursor() as $user) {
// Process
}