Laravel Eloquent Paginator 一种优雅的修改分页结果中的数据的方法

需求

如何将分页器内的数据进行处理后再塞回去

解决

分页器数据是一个 Collection,使用 transform 方法进行处理

$paginator = $this->items()->where('position', '=', null)->paginate(15);
$paginator->getCollection()->transform(function ($value) {
    // Your code here
    return $value;
});

使用 tap 助手函数

之前提过的 HOF tap 函数可以用在这里

$paginator = tap($this->items()->where('position', '=', null)->paginate(15), function($paginatedInstance){
    return $paginatedInstance->getCollection()->transform(function ($value) {
        return $value;
    });
});

https://stackoverflow.com/questions/37102841/laravel-change-pagination-data

posted @ 2024-04-17 17:48  我听不见  阅读(96)  评论(0编辑  收藏  举报