staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list
| Install | |
|---|---|
composer require staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list |
|
| Latest Version: | v1.2 |
| PHP: | ^8.1 |
| License: | MIT |
| Last Updated: | Mar 9, 2024 |
| Links: | GitHub · Packagist |
Eloquent Eager Limit + Laravel Adjacency List
[!IMPORTANT] The
staudenmeir/eloquent-eager-limitpackage's code has been merged into Laravel 11+ and eager loading limits are now supported natively.
This Laravel package merges staudenmeir/eloquent-eager-limit and staudenmeir/laravel-adjacency-list to allow them being used in the same model.
Supports Laravel 9–10.
Installation
composer require staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list:"^1.0"
Use this command if you are in PowerShell on Windows (e.g. in VS Code):
composer require staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list:"^^^^1.0"
Versions
| Laravel | Package |
|---|---|
| 10.x | 1.1 |
| 9.x | 1.0 |
Usage
Trees
Use the HasEagerLimitAndRecursiveRelationships trait in your model:
class User extends Model
{
use \Staudenmeir\EloquentEagerLimitXLaravelAdjacencyList\Eloquent\HasEagerLimitAndRecursiveRelationships;
}
Limitations
Descendants relationships only support eager loading limits when the query is ordered breadth-first (siblings before
children):
$users = User::with([
'descendants' => function ($query) {
$query->breadthFirst()->limit(10);
}
])->get();
*OfDescendants relationships do not support eager loading limits.
Graphs
Use the HasEagerLimitAndGraphRelationships trait in your model:
class Node extends Model
{
use \Staudenmeir\EloquentEagerLimitXLaravelAdjacencyList\Eloquent\HasEagerLimitAndGraphRelationships;
}
Limitations
Eager loading limits on graph relationships are not supported at the moment.
Contributing
Please see CONTRIBUTING and CODE OF CONDUCT for details.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
