在 Eloquent 中,假設要刪除某使用者的資料:
User::select(['name'])->chunk(100, function ($users) {
    foreach ($users as $user) {
        if ( condition ) {
            $user->delete();
        }
    }
}
以上的寫法,在 $user->delete(),即使 Model 回傳刪除成功,但實際上資料庫的資料不會被刪除。
原因是 Eloquent 刪除資料是以 id 欄位為準,若 select 不包含 id 則會刪除失敗。
在 select() 中加入 id 即可正常刪除資料:
User::select(['id', 'name'])->chunk(100, function ($users) {
    // ....
}
ps. 文件沒寫,fu …..