getOffset() public method

public getOffset ( ) : integer
return integer the offset of the data. This may be used to set the OFFSET value for a SQL statement for fetching the current page of data.
示例#1
0
 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];
 }
示例#2
0
 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];
 }
示例#3
0
文件: Tag.php 项目: luobenyu/blog-1
 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];
 }
示例#4
0
文件: Model.php 项目: muvo/yii2-whmcs
 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;
 }
示例#5
0
 /**
  * 获取店铺详情
  */
 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;
 }
示例#6
0
 /**
  * 他人主页,无权限
  */
 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];
 }
示例#8
0
 /**
  * 获取列表数据
  * @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;
 }
示例#9
0
 /**
  * 我的测试
  */
 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]);
 }
示例#10
0
 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;
 }
示例#11
0
 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;
 }