2015-04-28 2 views
1

У меня есть модель категории, которая имеет отношение к модели Products. я делаю следующий запрос:Yii2 - Запрос с разбивкой на страницы

$model = Category::find()->where(['slug' => $slug])->with('products')->one(); 

И с точки зрения я могу восстановить все продукты, которые принадлежат к этой категории с:

foreach ($model->products as $value)... 

Теперь я хочу сделать нумерацию страниц в продуктах, но Я не могу найти, как это сделать в «с» частью запроса.

+0

Почему вы не используете DataProvider? – scaisEdge

+1

Вы можете использовать ActiveDataProvider или ArrayDataProvider, а затем использовать свойство pagination. – Chinmay

ответ

0

Попробуйте

В контроллере:

... 
$pages = new Pagination(['totalCount' => $model->products->count()]); 
return $this->render('index', [ 
     'model' => $model, 
     'pages' => $pages, 
    ]); 

В Вид:

foreach ($model->products as $value) { 
    // display $model here 
} 

// display pagination 
echo LinkPager::widget([ 
    'pagination' => $pages, 
]); 
Смежные вопросы