Performance: Many-to-many (belongsToMany)
MEDIUM IMPACT
This affects database query performance and page load speed by controlling how many queries and joins are executed to fetch related data.
$users = User::with('roles')->get(); // eager loads roles in one query foreach ($users as $user) { $roles = $user->roles; // no extra queries }
foreach ($users as $user) { $roles = $user->roles; // triggers a query per user (N+1 problem) }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Lazy loading many-to-many relations | Minimal DOM nodes | 1 reflow after data arrives | Paint delayed by slow data fetch | [X] Bad |
| Eager loading many-to-many relations | Minimal DOM nodes | 1 reflow after data arrives | Paint happens sooner with data ready | [OK] Good |