当前位置: 首页>>代码示例>>PHP>>正文


PHP CRequest::getGlobalOrder方法代码示例

本文整理汇总了PHP中CRequest::getGlobalOrder方法的典型用法代码示例。如果您正苦于以下问题:PHP CRequest::getGlobalOrder方法的具体用法?PHP CRequest::getGlobalOrder怎么用?PHP CRequest::getGlobalOrder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRequest的用法示例。


在下文中一共展示了CRequest::getGlobalOrder方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getPaginated

 /**
  * Разбитый на страницы набор данных
  *
  * @return CArrayList
  */
 public function getPaginated()
 {
     /**
      * Разбивка на страницы на случай, если записи добавлялись вручную
      * и на случай, если рекордсет получен из таблицы
      */
     if ($this->_manualAdded) {
         $res = new CArrayList();
         $i = 0;
         $start = ($this->getCurrentPage() - 1) * $this->getPageSize();
         $end = $this->getCurrentPage() * $this->getPageSize();
         foreach ($this->getItems() as $key => $value) {
             if ($i >= $start && $i < $end) {
                 $res->add($key, $value);
             }
             $i++;
         }
         return $res;
     } else {
         $res = new CArrayList();
         $query = $this->getQuery();
         /**
          * Использование глобального поиск и глобальных сортировок
          */
         if ($this->_useGlobalSearch) {
             // глобальный поиск
             $globalFilter = CRequest::getGlobalFilter();
             if ($globalFilter["field"] !== false) {
                 $condition = $query->getCondition();
                 if (is_numeric($globalFilter["value"])) {
                     if ($condition != "") {
                         $condition .= " AND " . $globalFilter["field"] . '=' . $globalFilter["value"];
                     } else {
                         $condition = $globalFilter["field"] . '=' . $globalFilter["value"];
                     }
                 } else {
                     if ($condition != "") {
                         $condition .= " AND " . $globalFilter["field"] . " like '%" . $globalFilter["value"] . "%'";
                     } else {
                         $condition = $globalFilter["field"] . " like '%" . $globalFilter["value"] . "%'";
                     }
                 }
                 $query->condition($condition);
             }
             // глобальные сортировки
             $globalOrder = CRequest::getGlobalOrder();
             if ($globalOrder["field"] !== false) {
                 $query->order($globalOrder["field"] . " " . $globalOrder["direction"]);
             }
         }
         /**
          * Использование глобального ограничения доступа
          */
         if ($this->_isAclControlledSet) {
             $this->updateQueryForACLLimitations();
         }
         if ($this->getPageSize() != PAGINATION_ALL) {
             $start = ($this->getCurrentPage() - 1) * $this->getPageSize();
             $query->limit($start, $this->getPageSize());
         }
         $items = $query->execute();
         foreach ($items->getItems() as $item) {
             $ar = new CActiveRecord($item);
             $ar->setTable($query->getTable());
             $res->add($ar->getId(), $ar);
         }
         return $res;
     }
 }
开发者ID:Rustam44,项目名称:ASUPortalPHP,代码行数:74,代码来源:CRecordSet.class.php


注:本文中的CRequest::getGlobalOrder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。