关于 Eloquent 集合 each 方法执行总是剩余 1000 的或 1000 的整数倍条记录不处理的问题.
Laravel 版本 5.8.35
php版本 7.2.18
问题描述:
在tinker中执行以下代码
News::whereIn('channel_id', [10857])->each(function($item){
$item->delete();
})
集合记录总计 2285 条,发现执行后剩余 1000 条未被删除
再次执行后 所有记录被处理.
印象中 也有时候会有留下10000条记录的情况
这样的情况不知道大家有没有遇到过,我查了半天没有结果.
这里应该使用 chunkById。
chunk 和 each 都不行,因为你这里涉及到了删除。