Laravel:使用带有偏移和限制的惰性似乎不起作用

mel*_*rte 2 laravel eloquent

我正在尝试将模型进程的一些处理拆分为多个作业。假设我要处理 300 个模型。我想启动3个作业,每个作业将处理100个模型。在每项工作中,我想按 10 个模型为一组进行延迟加载。

如果我执行以下代码:

$models = MyModel::offset(0)->limit(100)->lazy(10);
$j = 0;

foreach ($models as $model) {
  $j++;
}
echo $j;
Run Code Online (Sandbox Code Playgroud)

输出是: 300 我认为只应该处理 100 个模型。

我不明白为什么我的所有模型都被处理。

如果有人知道真相...:)

mel*_*rte 7

好吧,看来我迷路了,这有效:

MyModel::lazy(10)->skip(0)->take(100);
Run Code Online (Sandbox Code Playgroud)