关于手册的一个数据库查询例子!求助求助!!!

浏览:529 发布日期:2018/03/10 分类:求助交流 关键字: 数据集分批处理 Chunk 回调函数 数据库 查询
官方手册第201页
手册地址:https://www.kancloud.cn/manual/thinkphp5/135176数据集分批处理
如果你需要处理成千上百条数据库记录,可以考虑使用chunk方法,该方法一次获取结果集
的一小块,然后填充每一小块数据到要处理的闭包,该方法在编写处理大量数据库记录的时
候非常有用。
比如,我们可以全部用户表数据进行分批处理,每次处理 100 个用户记录:
Db::table('think_user')->chunk(100, function($users) {
foreach ($users as $user) {
//
}
});
// 或者交给回调方法myUserIterator处理
Db::table('think_user')->chunk(100, 'myUserIterator');
有点不理解这句
Db::table('think_user')->chunk(100, 'myUserIterator');

比如我这样写:        Db::table('book_list')->chunk(2,function ($results){
            foreach ($results as $v){
                //传入$results数组用来遍历,foreach则根据$results的长度来判断需要循环几次,将每一次遍历的成员再赋值给变量$v,以供后续进行使用
                //$v表示2条中的其中一条,此处$v是一条记录,是数组变量
                dump($v);//打印数组 输出遍历所处的一条记录
            }
            echo '-----------------------------------分页----------------------';
        });
没错,可以正常查询

但是我这样写:
Db::table('book_list')->chunk(2,'PageSplit');

function PageSplit(){
echo 'ssssssssss';
return false;
}

直接报错,没有错误说明,就说是页面错误
开发模式已经打开

是不是我用法不对


刚刚开始用TP不久

网上也没有chunk的用法例子

百度了很多,也加了一些群,问了也没人回复,很心寒,希望各位会的大佬告诉我一下用法
小弟不胜感激!!!!!!!!






实在是搞不懂!
最佳答案
评论( 相关
后面还有条评论,点击查看>>