whereHas('recurring_invoices', function ($query) { $query->where('next_send_date', '<=', now()->toDateTimeString()) ->whereNotNull('next_send_date') ->whereNull('deleted_at') ->where('is_deleted', false) ->where('status_id', RecurringInvoice::STATUS_ACTIVE) ->where('remaining_cycles', '!=', '0') ->whereHas('client', function ($query) { $query->where('is_deleted', 0) ->where('deleted_at', null); }); }) ->cursor()->each(function ($company) { SendCompanyRecurring::dispatch($company->id, $company->db); }); } } }