$overdueAbos */ public function __construct(public array $overdueAbos) {} public function build(): self { $base = rtrim(Util::getMyMivitaUrl(), '/'); $rows = array_map(fn (UserAbo $abo) => [ 'id' => $abo->id, 'is_for' => $abo->is_for === 'me' ? 'Berater-Abo' : 'Kundenabo', 'name' => $abo->is_for === 'me' ? trim($abo->user?->account?->first_name.' '.$abo->user?->account?->last_name) : trim($abo->shopping_user?->billing_firstname.' '.$abo->shopping_user?->billing_lastname), 'next_date' => Carbon::parse($abo->next_date)->format('d.m.Y'), 'days' => (int) Carbon::parse($abo->next_date)->startOfDay()->diffInDays(now()->startOfDay()), 'url' => $base.'/admin/abos/detail/'.$abo->id, ], $this->overdueAbos); return $this->subject('Überfällige Abos: '.count($rows)) ->view('emails.abo_overdue_alert') ->with(['rows' => $rows]); } }