michiruf/laravel-collection-differ
最新稳定版本:0.3
Composer 安装命令:
composer require michiruf/laravel-collection-differ
包简介
Tiny helper to diff collections
README 文档
README
Tiny helper to diff collections.
Installation
composer require michiruf/laravel-collection-differ
Usage
Result usage example:
$result = collect([1, 2, 3])->differ([2, 4])->diff(); dump($result->unmatchedSource); // [1, 3] dump($result->unmatchedDestination); // [4] dump($result->matched); // [[2, 2]]
Callbacks usage example:
ProductModel::all() ->differ(ProductApi::getAll()) ->handleUnmatchedSourceUsing(fn (ProductModel $model) => $model->delete()) ->handleUnmatchedDestinationUsing(fn (ProductDto) $dto => ProductModel::createFromDto($dto)) ->handleMatchedUsing(fn (ProductModel $model, ProductDto $dto) => $model->updateWithDto($dto)) ->validateUniqueness() // throw if identifiers are not unique ->diff();
Identifier usage example:
ProductModel::all() ->differ(ProductApi::getAll()) ->identifySourceUsing(fn (ProductModel $model) => $model->id) ->identifyDestinationUsing('meta.id') // or: fn (ProductDto $dto) => $dto->meta->id ->validateUniqueness() // throw if identifiers are not unique ->diff();
For additional examples, have at look at the tests.
统计信息
- 总下载量: 690
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-08-30