findAll是 FLEA_Db_TableDataGateway 类的一个方法,其函数类型如下:
/**
* 查询所有符合条件的记录及相关数据,返回一个包含多行记录的二维数组,失败时返回 false
*
* @param mixed $conditions
* @param string $sort
* @param mixed $limit
* @param mixed $fields
* @param mixed $queryLinks
*
* @return array
*/
function & findAll($conditions = null, $sort = null, $limit = null, $fields = '*', $queryLinks = true)
其中第三个参数可以引入数组参数。看该函数中处理$limit参数的代码可得到判
断:
// 处理 $limit
if (is_array($limit)) {
list($length, $offset) = $limit;
} else {
$length = $limit;
$offset = null;
}
再根据其中的一
段代码:
// 根据 $length 和 $offset 参数决定是否使用限定结果集的查询
if (null !== $length || null !== $offset) {
$result = $this->dbo->selectLimit($sql, $length, $offset);
} else {
$result = $this->dbo->execute($sql);
}
追
踪分析selectLimit方法(FLEA_Db_Driver_Mysql数据库底层驱动类),分析该方法的代码段:
if (!is_null($offset)) {
$sql .= " LIMIT " . (int)$offset;
if (!is_null($length)) {
$sql .= ', ' . (int)$length;
} else {
$sql .= ', 4294967294';
}
}
从中可
知,findAll的第三个参数只要传入数组参数array($length,
$offset)就可以进行分页,即进行限定结果集的查询。传入的数组参数说明:$length 为每页显示记录数;$offset
为偏移量,计算公式:$offset = ($page - 1) * $length,公式中的 $page 为当前页码,从 1 算起。
大
家分析一下 Flea_Helper_Page 类的代码可知,FleaPHP 的分页助手类其实也是根据此原理来进行分页的。
本人论坛
贴:http://qeephp.com/bbs/thread-7362-1-1.html
分享到:
相关推荐
创建一个Repository接口,继承自JpaRepository或者PagingAndSortingRepository,这样就可以使用框架提供的一些默认实现方法,例如findAll、save等。同时,也可以定义一些自定义的查询方法,例如findAllByName(String...
详细介绍了C#中list对象的FindAll函数4种写法,从中可以看出如何从最完整写法过渡到最简写法的。从中可以明白C#“=>”的含义。
matlab开发-Findallfiles。搜索并列出目录及其子目录中特定类型的文件
getHibernateTemplate()有模糊查询和 分页getHibernateTemplate()有模糊查询和 分页
手机信息的增删改查,分页查询。 *" pageEncoding="gbk"%> *"%> *"%> *"%> 手机信息 手机列表 编号 类型 ...
这个很基础,就是对正则表达式的最基本的应用,先进阶的就不用看这个了,初学者可以看一下
下面看下re模块下的findall()函数和多个表达式元组相遇的时候会出现什么样的坑。 代码如下: import re str="a b c d" regex0=re.compile("((\w+)\s+\w+)") print(regex0.findall(str)) regex1=re.compile("(\w+)\s...
import re #解释 :先按照整体匹配出来,然后再匹配()中的 # 如果有2个或者多个(),则以元组的方式取显示 s = "A B C D" p1 = re.compile('\w+\s+\w+') print(p1.findall(s)) ...print(p3.findall(s))
主要介绍了Python re 模块findall() 函数返回值展现方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的。 下面这个是我的测试数据 db.test.find().sort({“age”:1}); 第一种方法 查询第一页的数据:db.test.find().sort({“age”:1}).limit...
最近在网上看到一篇文章,里面说到:List<T>.FindAll的效率竟然比for循环还差,下面是文章的截图: 以上就是baidu出来的一篇文章,让我惊诧不已,因为在AI模块我已经使用了很多FindAll。但是,上文的结论是真的吗?...
<s:url id="url_next" value="news_findAll.action"> <s:param name="pageNow" value="pageNow+1"></s:param> </s:url> <s:url id="url_first" value="news_findAll.action"> ...
mongodb查询性能 在这个案例中,我们首先使用 ...同时,还可以通过其他方式来进一步优化查询性能,例如使用 projection 选项限制返回的字段、使用 sort 选项排序查询结果、使用 skip 和 limit 选项分页查询等。
本篇文章只要是对C# List中FindAll用法的一些简单示例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
这是我从自己项目中抽取出来的java分页,分为Mysql和Oracle两个,希望能给大家带来帮助
数据存储类 将数据库表映射至DataTable 另附加查询类 FindData 对DataTable中数据再度查询 支持模糊查询,范围查询等...
精华志 C#_List_<T>+Find+Exists+FindAll+Sort用法+范例 京华志&精华志出品 分享资源 C# ASP.NET SQL DBA 源码
本文以实例形式展示了Yii使用find findAll查找出指定字段的实现方法,分享给大家供大家参考之用。具体方法如下: 总所周知,采用如下方法: modelName::model() -> find() //找出的是一个对象 modelName::model() ...