我有一个页面,其中有两个表显示来自不同数据库的不同数据。我能够为这两个表做分页,但当我点击表2的第2页时,表2也将重定向到第2页。如何使表2保留在第1页,而表1转到第2页,当我点击第2页。
答案 0 :(得分:8)
如果您在laravel核心中看到,那么您将看到类似这样的分页功能
/**
* Paginate the given query.
*
* @param int $perPage
* @param array $columns
* @param string $pageName
* @param int|null $page
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
*
* @throws \InvalidArgumentException
*/
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
{
$total = $this->query->getCountForPagination();
$this->query->forPage(
$page = $page ?: Paginator::resolveCurrentPage($pageName),
$perPage = $perPage ?: $this->model->getPerPage()
);
return new LengthAwarePaginator($this->get($columns), $total, $perPage, $page, [
'path' => Paginator::resolveCurrentPath(),
'pageName' => $pageName,
]);
}
现在在上面的函数中,您可以传递$ pagename以使两个分页单独工作,如下所示
$collectionA = ModelA::paginate(4, ['*'], 'pagination_a');
$collectionB = ModelB::paginate(4, ['*'], 'pagination_b');
或者你也可以使用setPageName函数来实现这个