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


PHP DBALException::limitOffsetInvalid方法代码示例

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


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

示例1: writeLimitClause

 /**
  * Adds an adapter-specific LIMIT clause to the SELECT statement.
  * [ borrowed from Zend Framework ]
  *
  * @param string $query
  * @param mixed $limit
  * @param mixed $offset
  * @link http://lists.bestpractical.com/pipermail/rt-devel/2005-June/007339.html
  * @return string
  * @override
  */
 public function writeLimitClause($query, $limit = false, $offset = false)
 {
     if ($limit > 0) {
         $count = intval($limit);
         $offset = intval($offset);
         if ($offset < 0) {
             throw DBALException::limitOffsetInvalid($offset);
         }
         $orderby = stristr($query, 'ORDER BY');
         if ($orderby !== false) {
             $sort = stripos($orderby, 'desc') !== false ? 'desc' : 'asc';
             $order = str_ireplace('ORDER BY', '', $orderby);
             $order = trim(preg_replace('/ASC|DESC/i', '', $order));
         }
         $query = preg_replace('/^SELECT\\s/i', 'SELECT TOP ' . ($count + $offset) . ' ', $query);
         $query = 'SELECT * FROM (SELECT TOP ' . $count . ' * FROM (' . $query . ') AS inner_tbl';
         if ($orderby !== false) {
             $query .= ' ORDER BY ' . $order . ' ';
             $query .= stripos($sort, 'asc') !== false ? 'DESC' : 'ASC';
         }
         $query .= ') AS outer_tbl';
         if ($orderby !== false) {
             $query .= ' ORDER BY ' . $order . ' ' . $sort;
         }
         return $query;
     }
     return $query;
 }
开发者ID:jacques-sounvi,项目名称:addressbook,代码行数:39,代码来源:MsSqlPlatform.php


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