數據分批處理 chunk
模型也支持對返回的數據分批處理。特別是如果你需要處理成千上百條數據庫記錄,可以考慮使用 chunk
方法,該方法一次獲取結果集的一小塊,然后填充每一小塊數據到要處理的閉包,該方法在編寫處理大量數據庫記錄的時候非常有用。
比如,我們可以全部用戶表數據進行分批處理,每次處理 20
個用戶記錄:
<?php
(new User())->chunk(function (User $user) {
// 處理 user 模型對象
$user->updateWithLimit(['status' => 1]);
}, 20);