basanta/lazyloader
最新稳定版本:1.0.3
Composer 安装命令:
composer require basanta/lazyloader
包简介
Lazy load Laravel Models with or without relationship.
README 文档
README
Lazy load Laravel Models with or without relationship.
use Basanta\LazyLoader\LazyLoader;
Has Many :
$usersWithClients = LazyLoader::make($users)->load(Client::class, 'clients') ->on([ 'clients.created_by' => 'id', 'clients.assigned_to' => 'id' ]) ->multi([ 'clients.email', 'clients.first_name', 'clients.last_name', ]);
Has One :
$clientsWithUser = LazyLoader::make($clients)->load(User::class, 'user') ->on([ 'users.id' => [ 'created_by', 'assigned_to' ] ]) ->single([ 'users.id', 'users.first_name', 'users.last_name', ]);
Where :
$clientsWithUser = LazyLoader::make($clients)->load(User::class, 'user') ->on([ 'users.id' => [ 'created_by', 'assigned_to' ] ]) ->where('users.is_active', '=', 1) ->single([ 'users.id', 'users.first_name', 'users.last_name', ]);
When :
$clientsWithUser = LazyLoader::make($clients)->load(User::class, 'user') ->on([ 'users.id' => [ 'created_by', 'assigned_to' ] ]) ->when(function($item) { // custom logic // lazy load user model only when missing return empty($item['user']); }) ->single([ 'users.id', 'users.first_name', 'users.last_name', ]);
统计信息
- 总下载量: 44
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-02