majid9674
4 سال پیش توسط majid9674 مطرح شد
1 پاسخ

استفاده از شرط به همراه chunk در لاراول

با سلام وقتی میخواهیم از chunk استفاده کنیم نمیتوانیم قبل از آن دیتا ها را به صورت شرطی دریافت کنیم و تغییر بدهیم به عنوان مثال :
User::where('approved', 0)->chunk(100, function ($users) {
foreach ($users as $user) {
$user->update(['approved' => 1]);
}
});
در اینجا ما لیستی از کاربر های تایید نشده را دریافت میکنیم و تاییدشان میکنیم اما با این کار زمانی که لاراول پرس و جوی پایگاه داده دیگری را برای دریافت یک صفحه دیگر اجرا می‌کند، داده‌ها تغییر کرده‌اند و در این صورت شما یک صفحه داده را از دست خواهید داد و فقط نیمی از داده‌ها را پردازش خواهید کرد.
برای حل این مشکل چیکار باید کرد ؟