staudenmeir / eloquent-eager-limit-x-laravel-adjacency-list
staudenmeir/eloquent-eager-limit 和 staudenmeir/laravel-adjacency-list 的合并
v1.2
2023-05-14 09:54 UTC
Requires
- php: ^8.1
- illuminate/database: ^10.0
- staudenmeir/eloquent-eager-limit-x-laravel-cte: ^1.1.1
- staudenmeir/laravel-adjacency-list: ^1.13.5
Requires (Dev)
- doctrine/dbal: ^3.5.2
- phpunit/phpunit: ^10.0
- staudenmeir/eloquent-has-many-deep: ^1.18
README
重要
staudenmeir/eloquent-eager-limit
包的代码已合并到 Laravel 11+,并且原生支持预加载限制。
此 Laravel 包将 staudenmeir/eloquent-eager-limit 和 staudenmeir/laravel-adjacency-list 合并,以便它们可以在同一模型中使用。
支持 Laravel 9–10。
安装
composer require staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list:"^1.0"
如果您在 Windows 的 PowerShell 中(例如在 VS Code 中),请使用此命令
composer require staudenmeir/eloquent-eager-limit-x-laravel-adjacency-list:"^^^^1.0"
版本
用法
树
在您的模型中使用 HasEagerLimitAndRecursiveRelationships
特性
class User extends Model { use \Staudenmeir\EloquentEagerLimitXLaravelAdjacencyList\Eloquent\HasEagerLimitAndRecursiveRelationships; }
限制
Descendants
关系仅在查询按广度优先排序(兄弟在子代之前)时支持预加载限制
$users = User::with([ 'descendants' => function ($query) { $query->breadthFirst()->limit(10); } ])->get();
*OfDescendants
关系不支持预加载限制。
图形
在您的模型中使用 HasEagerLimitAndGraphRelationships
特性
class Node extends Model { use \Staudenmeir\EloquentEagerLimitXLaravelAdjacencyList\Eloquent\HasEagerLimitAndGraphRelationships; }
限制
目前不支持图形关系的预加载限制。
贡献
请参阅 CONTRIBUTING 和 行为准则 了解详情。