selectRaw('MIN(id) as id, uri, count(uri) as occurences') ->whereNull('deleted_at') ->whereNotNull('uri') ->groupBy('uri') ->havingRaw('count(uri) > 1') ->orderBy('uri') ->chunk(50, function ($statuses) { foreach ($statuses as $status) { $this->info("Found duplicate: $status->uri"); Status::whereUri($status->uri) ->where('id', '!=', $status->id) ->get() ->map(function ($status) { $this->info("Deleting Duplicate ID: $status->id"); StatusDelete::dispatch($status); }); } }); } }