eloquent

Eloquent ORM

ActiveRecord ORM for Laravel

Details

Language / Topic
phpPHP
Category
Libraries
Source
laravel

Rules

balanced
- Define relationships (`hasMany`, `belongsTo`, `belongsToMany`) in model methods — use eager loading with `with()` to prevent N+1 queries.
- Use query scopes (`scopeActive`, `scopeRecent`) for reusable query constraints — chain them: `User::active()->recent()->get()`.
- Use Eloquent accessors (`get{Attribute}Attribute`) and mutators (`set{Attribute}Attribute`) for data transformation — keeps controllers clean.
- Use `with()` for eager loading to prevent N+1 queries: `User::with("posts")->get()`.
- Use scopes for reusable query logic: `scopeActive`, `scopeRecent`.
- Use accessors and mutators for data transformation: `getFullNameAttribute`, `setPasswordAttribute`.
- Use `Model::query()` for explicit query builder access and method chaining.