Introduction
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.0+.
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"
Usage
Use the HasEagerLimitAndRecursiveRelationships
trait in your model:
class User extends Model
{
use \Staudenmeir\EloquentEagerLimitXLaravelAdjacencyList\Eloquent\HasEagerLimitAndRecursiveRelationships;
}
Limitations
Descendants
relationships only support eager loading limit 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.
Contributing
Please see CONTRIBUTING and CODE OF CONDUCT for details.