Esempio n. 1
0
 /**
  * @param StorageRequest $request
  * @return string
  */
 private static function getPaging($request)
 {
     $pageSize = $request->getRequestSettings()['pageSize'];
     $page = $request->getRequestSettings()['page'];
     if ($pageSize > 0) {
         $limit = 'LIMIT ' . $pageSize;
         $offset = 'OFFSET ' . ($page - 1) * $pageSize;
     } else {
         $limit = '';
         $offset = '';
     }
     //ORDER BY `field` DESC | ASC
     $sort = '';
     if ($request->hasSort()) {
         $sortBy = $request->getRequestSettings()['sort']['by'];
         $sortMode = $request->getRequestSettings()['sort']['mode'];
         switch (strtoupper($sortMode)) {
             case 'ASC':
                 $sortMode = 'ASC';
                 break;
             case 'DSC':
                 $sortMode = 'DESC';
                 break;
             default:
                 $sortMode = 'ASC';
                 break;
         }
         $sort = 'ORDER BY `' . $sortBy . '` ' . strtoupper($sortMode);
     }
     return $sort . ' ' . $limit . ' ' . $offset;
 }