如果你需要处理成千上百条数据库记录,可以考虑使用chunk方法,该方法一次获取结果集的一小块,然后填充每一小块数据到要处理的闭包,该方法在编写处理大量数据库记录的时候非常有用。
比如,我们可以全部用户表数据进行分批处理,每次处理 100 个用户记录:
你可以通过从闭包函数中返回false来中止对数据集的处理:
也支持在chunk方法之前调用其它的查询方法,例如:
chunk方法的处理默认是根据主键查询,支持指定字段,例如:
V5.0.11
版本开始,chunk方法支持指定处理数据的顺序。
https://www.kancloud.cn/manual/thinkphp5/135176