當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。