尝试获取可变分页以显示 3 种不同类型的分页

Trying to get a variable pagination to show me 3 different types of paginations

这是我的索引:

<div class="page-sizer">
                <a class="page numbers" href="{{$references->pagination(10)}}">10</a>
                <a class="page numbers" href="{{$references->pagination(30)}}">30</a>
                <a class="page numbers" href="{{$references->pagination(100)}}">100</a>
                <button  href="qweqwe.qweqwe" class="btn btn-info float-right>112e1e1e1e"></button>
                </div>

我的 AdminreferenceController:

 public function index()
    {
        $references = Reference::orderBy('priority', 'desc')->orderBy('id', 'desc')->paginate(50);

        return view('admin.reference.index', ['references' => $references]);

    }

和我的 Lengthawarepaginator:

public function __construct($items, $total, $perPage, $currentPage = null, array $options = [])
    {
        foreach ($options as $key => $value) {
            $this->{$key} = $value;
        }

        $this->total = $total;
        $this->perPage = $perPage;
        $this->lastPage = max((int) ceil($total / $perPage), 1);
        $this->path = $this->path !== '/' ? rtrim($this->path, '/') : $this->path;
        $this->currentPage = $this->setCurrentPage($currentPage, $this->pageName);
        $this->items = $items instanceof Collection ? $items : Collection::make($items);
    }

。我目前收到错误方法 Illuminate\Database\Eloquent\Collection:: 分页不存在。 我想要 3 个按钮显示 3 种不同类型的分页,例如底部搜索栏中的 Whosebug。

我目前已经完全改变了分页。我用

写了一个 url
/x/y/perpage/10,
/x/y/perpage/30,
/x/y/perpage/100,

我为它开辟了一条新路线

route::('/x/perpage/{count})'

并将我的 AdminReferenceController 更改为

public function index($perpage = false)
    {
        if(!$perpage) {
            $perpage = 10;
        }
        $references = Reference::orderBy('priority', 'desc')->orderBy('id', 'desc')->paginate($perpage);

我没时间解决这个问题。但是我发现你调用的是 pagination() 而不是 paginate。看我的建议

<div class="page-sizer">
            <a class="page numbers" href="{{$references->paginate(10)}}">10</a>
            <a class="page numbers" href="{{$references->paginate(30)}}">30</a>
            <a class="page numbers" href="{{$references->paginate(100)}}">100</a>
            <button  href="qweqwe.qweqwe" class="btn btn-info float-right>112e1e1e1e"></button>
            </div>

这里我从 index() 和 returns 集合中删除了分页。

 public function index()
{
    $references = Reference::orderBy('priority', 'desc')->orderBy('id', 'desc');

    return view('admin.reference.index', ['references' => $references]);

}

希望对您有所帮助。

您正在调用集合中的分页尝试这样

首先你需要在 class 减速之前包含数据库 class

use Illuminate\Support\Facades\DB;

然后像这样更改查询

$references = DB::table('reference')->orderBy('priority', 'desc')->orderBy('id', 'desc')->paginate(5o);
    return view('admin.reference.index', ['references' => $references]);

在你看来你需要这样访问

{{  $references->links() }}

https://laravel.com/docs/5.7/pagination