Laravel 5 合并 LengthAwarePaginator

问题描述 投票:0回答:1

我有来自 2 个不同查询的 2 个对象 LengthAwarePaginator,我想将它们合并以显示在同一页面/表上。

一旦合并 2 个对象,我就会丢失大部分属性,例如元素总数,并且无法使用 Laravel 5 render() 函数:

$final = $res_query_1->合并($res_query_2)

有什么想法吗?

php laravel-5 merge
1个回答
2
投票
public function merge(LengthAwarePaginator $collection1, LengthAwarePaginator $collection2)
    {
        $total = $collection1->total() + $collection2->total();

        $perPage = $collection1->perPage() + $collection2->perPage();

        $items = array_merge($collection1->items(), $collection2->items());

        usort($items, array($this, 'cmp'));

        $paginator = new LengthAwarePaginator($items, $total, $perPage);

        return $paginator;
    }
© www.soinside.com 2019 - 2024. All rights reserved.