Yii framework 2.0在一个页面上有多个分页

时间:2014-12-10 16:56:38

标签: php pagination yii2

使用Yii framework 2.0我尝试使用分页功能和linkpager小部件,遵循Yii文档。

以下是我的控制器。

public function actionIndex()
{
    $query = Country::find();

    $pagination = new Pagination([
        'defaultPageSize' => 5,
        'totalCount' => $query->count(),
    ]);

    $countries = $query->orderBy('name')
        ->offset($pagination->offset)
        ->limit($pagination->limit)
        ->all();

    return $this->render('index', [
        'countries' => $countries,
        'pagination' => $pagination,
    ]);
}

在我的索引视图中,我使用以下代码。

<?= LinkPager::widget(['pagination' => $pagination]) ?>

现在我想为另一个模型 City 添加一个分页功能和LinkPager小部件。在actionIndex()方法中,我遵循现有代码,只需创建 City 的对象和 新分页的对象并将其返回到视图中。在视图中,我再次使用另一个分页变量 $ paginationCity 包含LinkPager小部件。当我点击分页编号时,我在网址中看到了查询字符串 page = xx 。我注意到它正用于 国家 城市 两个模型。如何在同一页面上使用多个分页?

1 个答案:

答案 0 :(得分:4)

您可以通过更改Pagination类的pageParam属性:

来实现
$cityPagination = new Pagination([
    ...    
    'pageParam' => 'city-page',
]);