public function getListByCategory($slug, $fields = [], $with = [], $page = false, $pageSize = false, $order = '') { $category = Category::getInstance()->getBySlug($slug); $model = self::$model->find()->select($fields)->where(['type' => Content::TYPE_ARTICLE, 'status' => Content::STATUS_ACTIVE, 'meta_id' => $category['id']])->join('RIGHT JOIN', Relationship::tableName() . ' relation', 'content_id=id'); $countModel = clone $model; $pagination = new Pagination(['totalCount' => $countModel->count(), 'pageSize' => $pageSize]); if ($page) { $pagination->setPage($page, true); } switch (strtoupper($order)) { case 'VIEW': $model->orderBy('view_total DESC'); break; case 'COMMENT': $model->orderBy('comment_total DESC'); break; case 'CREATED': $model->orderBy('created_at DESC'); break; case 'UPDATED': $model->orderBy('updated_at DESC'); break; } return ['data' => $model->with($with)->limit($pagination->getLimit())->offset($pagination->getOffset())->all(), 'pagination' => $pagination]; }
public function getList($fields = [], $with = [], $pageSize = false, $page = false) { $model = self::$model->find()->where(['type' => Meta::TYPE_ARTICLE_CATEGORIES, 'status' => Meta::STATUS_ACTIVE]); $countModel = clone $model; $pagination = new Pagination(['totalCount' => $countModel->count('id'), 'pageSize' => $pageSize]); if ($page) { $pagination->setPage($page, true); } return ['data' => $model->with($with)->select($fields)->offset($pagination->getOffset())->limit($pagination->getLimit())->asArray()->all(), 'pagination' => $pagination]; }
public static function getTags($fields = [], $with = [], $pageSize = false, $page = false) { $model = Meta::find()->where(['type' => Meta::TYPE_TAG, 'status' => Meta::STATUS_ACTIVE]); $countModel = clone $model; $pagination = new Pagination(['totalCount' => $countModel->count('id'), 'pageSize' => $pageSize]); if ($page) { $pagination->setPage($page, true); } return ['data' => $model->select($fields)->with($with)->limit($pagination->getLimit())->offset($pagination->getOffset())->orderBy('created_at desc')->asArray()->all(), 'pagination' => $pagination]; }
protected static function getDataProvider($method, $datasetName, $options = array(), Pagination $pagination = null) { $tag = null; if (isset($options['tag'])) { $tag = $options['tag']; unset($options['tag']); } if (!$pagination && $pagination !== false) { $pagination = new Pagination(); $result = self::getWhmcs()->call($method, $options, $tag); $pagination->totalCount = $result->totalresults; } if ($pagination !== false) { $options = array_merge($options, ['limitstart' => $pagination->getOffset(), 'limitnum' => $pagination->getLimit()]); } if ($result = self::getWhmcs()->call($method, $options, $tag)) { return new Provider(['response' => $result, 'datasetName' => $datasetName, 'pagination' => $pagination]); } return null; }
/** * 获取店铺详情 */ private static function getStoreBrief() { $brief = ['userMobile', 'storeId', 'logo', 'storeName', 'enterpriseType', 'createTime', 'address']; $sql = 'SELECT ' . implode(',', $brief) . ' FROM store AS s INNER JOIN user as u ON(s.userId=u.userId)'; if (static::$storeId) { $sql .= ' WHERE s.storeId=' . static::$storeId; } else { $total = static::getDb()->createCommand($sql)->query()->count(); $data['pagination'] = $pagination = new Pagination(['totalCount' => $total, 'pageSize' => static::$pageSize]); $sql .= ' LIMIT ' . $pagination->getOffset() . ',' . $pagination->getLimit(); } $data['data'] = static::getDb()->createCommand($sql)->queryAll(); $sale = StoreSale::getStoreSale(); foreach ($data['data'] as &$v) { foreach ($sale as $vs) { if ($v['storeId'] == $vs['storeId']) { $v['username'] = $vs['username']; } } } return $data; }
/** * 他人主页,无权限 */ public function actionPersonalPage($uid = 0) { $this->getView()->title = User::getTaUidShowName($uid) . '个人主页'; $this->layout = false; $uid = intval($uid); $uid = $uid > 0 ? $uid : 0; // $this->render('my2'); $searchModel = new SurverySearch(); $queryParams = Yii::$app->request->queryParams; $queryParams['SurverySearch']['uid'] = $uid; $queryParams['SurverySearch']['is_publish'] = 1; $query = $searchModel->query($queryParams); $count = $query->count(); // echo $count; // 分页 $pagination = new Pagination(); // 每页现实数量 $pagination->pageSize = $this->pageSize; // 总数量 $pagination->totalCount = $count; $old_page = $pagination->page; $offset = $pagination->getOffset(); $limit = $pagination->getLimit(); $query->offset($offset); $query->limit($limit); $query->orderBy(['id' => SORT_DESC]); $a_models = $query->all(); if (isset($_GET['ajax'])) { if (isset($_GET[$pagination->pageParam]) && $pagination->pageCount < $_GET[$pagination->pageParam]) { $a_models = []; } // echo $pagination->pageCount,'-',$pagination->page,'$old_page',$_GET[$pagination->pageParam] ; // exit; return $this->render('my-test-list', ['a_models' => $a_models, 'pagination' => $pagination]); } // isset($a_models[0]) ? null : $a_models=[]; return $this->render('my2', ['searchModel' => $searchModel, 'a_models' => $a_models, 'pagination' => $pagination, 'self' => 1, 'ajax_url' => Yii::$app->urlManager->createUrl(['my/personal-page', 'page' => '#page#', 'sort' => 1, 'self' => 1, 'ajax' => 1, 'uid' => $uid]), 'uid' => $uid]); }
/** * 获取列表记录 * * @param array|string $condition 条件 * @param array $params 参数 * @param string $order 排序 * @param int $page 页码 * @param int $pageSize 每页数量 * @return array */ public static function getListByCondition($condition = '', $params = [], $order = null, $page = 1, $pageSize = 20) { $pagination = new Pagination(); $pagination->setPage($page); $pagination->setPageSize($pageSize); $pagination->totalCount = static::find()->innerJoinWith('menuUrl')->andWhere($condition, $params)->count(1); $list = static::find()->innerJoinWith('menuUrl')->andWhere($condition, $params)->offset($pagination->getOffset() - $pagination->getPageSize())->limit($pagination->getPageSize())->orderBy($order)->asArray()->all(); return ['paginationObj' => $pagination, 'pagination' => ['currentPage' => $page, 'pageSize' => $pageSize, 'pageCount' => $pagination->getPageCount(), 'totalCount' => $pagination->totalCount], 'list' => $list]; }
/** * 获取列表数据 * @param integer $ta_uid * @param integer $login_uid * @param string $table * @param integer $pageSize * @param mixed $where * @param mixed $sort * @return [] */ public function getTaList($ta_uid, $login_uid, $table, $pageSize, $where, $sort = ['msg_id' => SORT_ASC]) { $pageSize = 1; $arr = [$ta_uid, $login_uid]; $arr = array_unique($arr); $str = implode(',', $arr); $model_Message = new Message(); $query = $model_Message->find()->where("`table`=:table and ( (from_uid={$login_uid} and to_uid={$ta_uid} ) or (from_uid={$ta_uid} and to_uid={$login_uid} ) ) ", [':table' => $table]); if ($where) { $query->andWhere($where); } if ($sort) { $sort['msg_id'] = SORT_DESC; $query->orderBy($sort); } $pagination = new Pagination(); $pagination->totalCount = $query->count(); $offset = $pagination->getOffset(); $limit = $pagination->getLimit(); $query->offset($offset); $query->limit($limit); $pagination->page; // echo $query->createCommand()->getRawSql(); // exit; $a_models = $query->all(); if (isset($_GET[$pagination->pageParam]) && $pagination->pageCount < $_GET[$pagination->pageParam]) { $a_models = []; } $temp_data['models'] = $a_models; $temp_data['pagination'] = $pagination; return $temp_data; }
/** * 我的测试 */ public function actionMy() { $this->layout = false; if (ZCommonSessionFun::get_user_id() < 1) { $url = Yii::$app->urlManager->createUrl([ZCommonSessionFun::urlLoginUserStr]); return $this->redirect($url); } $searchModel = new SurverySearch(); $queryParams = Yii::$app->request->queryParams; $queryParams['SurverySearch']['uid'] = ZCommonSessionFun::get_user_id(); $query = $searchModel->query($queryParams); $count = $query->count(); // echo $count; // 分页 $pagination = new Pagination(); // 每页现实数量 $pagination->pageSize = $this->pageSize; // 总数量 $pagination->totalCount = $count; $offset = $pagination->getOffset(); $limit = $pagination->getLimit(); $query->offset($offset); $query->limit($limit); $query->orderBy(['id' => SORT_DESC]); $a_models = $query->all(); if (isset($_GET['is_ajax'])) { $this->layout = false; if (!isset($a_models[0])) { $html['data'] = ''; } else { $html['data'] = $this->render('my-ajax', ['searchModel' => $searchModel, 'a_models' => $a_models, 'pagination' => $pagination, 'self' => 1]); } ZCommonFun::output_json($html['data'], 0, ''); } return $this->render('my3', ['searchModel' => $searchModel, 'a_models' => $a_models, 'pagination' => $pagination, 'self' => 1]); }
public function getList($condition, $page, $page_size) { $pagination = new Pagination(); $model = new UsersFriends(); $query = $model->find(); $query->where($condition); $count = $query->count(); $models = $query->all(); isset($models[0]) ? null : ($models = []); $pagination->pageSize = $page_size; //总数量 $pagination->totalCount = $count; $offset = $pagination->getOffset(); $limit = $pagination->getLimit(); $query->offset($offset); $query->limit($limit); $temp_data['models'] = $models; $temp_data['pagination'] = $pagination; return $temp_data; }
public function getMyTest($uid, $where, $page, $page_size) { if ($uid < 0) { return []; } $queryParams['SurverySearch']['is_publish'] = 1; $searchModel = new SurverySearch(); $query = $searchModel->query($queryParams); $query->join('inner join', 'answer_user', 'answer_user.sid=survey.id'); $query->where('answer_user.uid=' . $uid); $query->andWhere('is_publish=1'); $query2 = clone $query; // $query2->groupBy= [ // 'survey.id' // ]; $query->select('survey.*'); $query = $query->orderBy(['au_id' => SORT_DESC]); $sql = $query->createCommand()->getRawSql(); $query3 = (new Query())->from(" ({$sql}) as tt "); $query3->groupBy(['id']); //查询总条数 $query_count = clone $query3; $sql_count = $query_count->createCommand()->getRawSql(); $count = (new Query())->from(" ({$sql_count}) as tt_count ")->count(); // echo $count,'<br/>',$sql_count; // exit; //分页 $pagination = new Pagination(); isset($page) && intval($page) > 0 ? $pagination->page = $page : null; //每页现实数量 $pagination->pageSize = $page_size; //总数量 $pagination->totalCount = $count; $offset = $pagination->getOffset(); $limit = $pagination->getLimit(); $query3->offset($offset); $query3->limit($limit); // echo $pagination->page,$pagination->pageCount; //查询所有 $models = (new SurverySearch())->findBySql($query3->createCommand()->getRawSql())->all(); isset($models[0]) ? null : ($models = []); if (isset($_GET[$pagination->pageParam]) && $pagination->pageCount < $_GET[$pagination->pageParam]) { $models = []; } // echo $pagination->page,'-',$pagination->page ; $temp_data['models'] = $models; $temp_data['pagination'] = $pagination; // echo '<pre>'; // echo $query3->createCommand()->getRawSql(); // print_r($models); // exit; return $temp_data; }