#laravel #eloquent
Вопрос:
Я пытаюсь разделить некоторую обработку процесса моих моделей на несколько заданий. Допустим, у меня есть 300 моделей, которые я хочу обработать. Я хочу запустить 3 задания, каждое задание будет обрабатывать 100 моделей. В каждой работе я хочу лениво загружать группы из 10 моделей.
Если я выполню следующий код :
$models = MyModel::offset(0)->limit(100)->lazy(10);
$j = 0;
foreach ($models as $model) {
$j ;
}
echo $j;
На выходе получается :
300
Где я думал, что нужно обработать только 100 моделей.
Я не понимаю, почему обрабатываются все мои модели.
Если кто-то знает правду … 🙂
Ответ №1:
Ну, кажется, я заблудился, это работает:
MyModel::lazy(10)->skip(0)->take(100);