Что вы фактически пытаетесь сделать, это отредактировать метод toArray()
класса Paginator
.
Как насчет создания нового класса MyPaginator
, который расширяет lengthAwarePaginator
новым toArray()
method?
App \ MyPaginator. php (или куда вы хотите его поместить)
namespace App;
use Illuminate\Pagination\LengthAwarePaginator;
class MyPaginator extends LengthAwarePaginator
{
public function __construct(LengthAwarePaginator $paginator) {
parent::__construct($paginator->items, $paginator->total, $paginator->perPage, $paginator->currentPage, $paginator->options);
}
public function toArray() {
return array_merge(parent::toArray(), ['status'=>'success']);
}
}
Использование
$data = new MyPaginator(product::paginate());
Если вам нужно выполнить эту работу с другими типами Paginator, вы можете расширить AbstractPaginator
и соответственно настроить конструктор.