Здравствуйте уважаемые специалисты. У меня возникла следующая проблема:
Пагинацию для вывода товаров на странице делаю так в контролери:
public function actionView_category_products()
{
$id=Yii::$app->request->get('id_category');
$category=Category::findOne($id);
if(empty($category)){
throw new HttpException(404,'Selection of the category does not exist!');
}
$request=Products::find()->where(['category_id'=>$id]);
$pages=new Pagination([
'totalCount' => $request->count(),
'pageSize'=>9,
'forcePageParam'=>false,
'pageSizeParam'=>false,
]);
$productss=$request->offset($pages->offset)->limit($pages->limit)->all();
//mas_print($productss);
$count_record=$request->count();//передача кількості знайдених товарів
$this->setMeta('E-Shoper|Category: '.$category->name,$category->keywords,$category->description);
return $this->render('view_category_products',compact('productss','pages','count_record', 'category'));
}
в самом виде так:
echo LinkPager::widget([
'pagination' => $pages,
]);
Работа с картинками реализована через
yii2-images . Где чтобы вывести картинку товара используется следующий код:
$image = $productss->getImage();
echo $image->getUrl();
Но код $request->offset($pages->offset)->limit($pages->limit)->all(); возвращает в $productss массив, состоящий из массивов, а не объектов.
Прошу подскажите как можно решить эту проблему. В частности интересует как реализовать пагинацию чтобы возвращало массив объектов. Или как не нагружаючы лишними запросами сервер вытянуть картинку. Заранее благодарю всех.