Prevent N+1 queries by eager loading; enable lazy-loading protection in non-production; choose selective fields
Scanned 6/6/2026
Install via CLI
openskills install jpcaparas/superpowers-laravel---
name: laravel:performance-eager-loading
description: Prevent N+1 queries by eager loading; enable lazy-loading protection in non-production; choose selective fields
---
# Eager Loading and N+1 Prevention
## Load Relations Explicitly
```php
Post::with(['author', 'comments'])->paginate();
```
- Use `load()`/`loadMissing()` after fetching models when needed
- Select only required columns for both base query and relations
## Guard Against Lazy Loading in Dev/Test
Add to a service provider (non-production):
```php
Model::preventLazyLoading(! app()->isProduction());
```
## Verify
- Use a query logger or debugbar to confirm relation queries are minimized
- Add tests that assert counts or avoid unexpected query spikes
No comments yet. Be the first to comment!