/** * This will find subscribers who are unsubscribed for longer * than 14 days and delete their account. */ public function processUnsubscribedSubscribers() { $endDate = new Carbon(); $endDate = $endDate->subDays(14); $subscriber = Subscriber::whereNotNull('unsubscribed_at')->get()->filter(function ($subscriber) use($endDate) { return $subscriber->unsubscribed_at <= $endDate; })->shift(); if ($subscriber) { $subscriber->delete(); $this->logActivity(sprintf('Deleted subscriber "%s" who opted out 14 days ago.', $subscriber->email)); } }