Laravel 10
PHP 8.1+
No commit activity in last 2 years
No release in over 2 years
Merge of staudenmeir/eloquent-eager-limit and staudenmeir/laravel-adjacency-list
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

Eloquent Eager Limit + Laravel Adjacency List

CI Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads License

Important

The staudenmeir/eloquent-eager-limit package'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.