where('created_at', '<', Carbon::now()->subDay(1))->get(); $customersLogins->map(function (CustomerLogin $customerLogin) { DB::transaction(function () use ($customerLogin) { /** @var \App\Models\Customer $customer */ $customer = $customerLogin->customer; // * Si non activé et créer il y a plus d'un jour : Suppression. $customerLogin->customer->infos()->where('brand_id', $customerLogin->brand_id) ->get()->map(function (CustomerInfo $customerInfo) { $customerInfo->deleteOrFail(); }); // * Suppression de ses infos de login pour la marque. $customerLogin->deleteOrFail(); // * Si le customer n'a plus d'info il n'a donc plus besoin de compte en crm. if (!$customer->infos()->count()) { // * Suppression du customer une fois tout le reste supprimé. $customer->optInHistory()->get() ->map(function (CustomerOptInHistory $customerOptInHistory) { $customerOptInHistory->deleteOrFail(); }); $customer->deleteOrFail(); } }); }); return 0; } }