private static function getWeb($page, $filter) { // число элементов на странице по умолчанию $defaultPageSize = 6; $query = Web::find()->select(['id', 'title', 'intro_text', 'main_img'])->where(['show_item' => 1]); // общее число элементов, которые будут выведены на страницу $totalCount = $query->count(); // создаем объект постраничной навигации $pagination = self::getPagination($defaultPageSize, $totalCount, $page, $filter); $elements = $query->limit($pagination->limit)->offset($pagination->offset)->all(); return ['pagination' => $pagination, 'elements' => $elements]; }
public function actionWeb() { $web_subcategory = WebSubcategory::find()->all(); $elements = []; foreach ($web_subcategory as $key => $value) { $element = Web::find()->select(['id', 'title', 'main_img'])->where(['show_item' => 1, 'id_cat' => $value->id])->orderBy('rand()')->one(); if (count($element) == 0) { $element = $value; } else { $element['alias'] = $value->alias; } $elements[$value->name] = $element; } return $this->render('web', ['elements' => $elements]); }