info(date('r') . ' Running SendOverdueTickets...'); if ($database = $this->option('database')) config(['database.default' => $database]); $this->sendReminders(); $this->info(date('r') . ' Done'); } private function sendReminders() { $tickets = Ticket::with('account', 'account.account_ticket_settings') ->where('due_date', '<', Carbon::now()) ->whereIn('status_id', [1,2]) ->where('overdue_notification_sent', '=', 0) ->whereHas('account.account_ticket_settings', function ($query) { $query->where('alert_ticket_overdue_agent_id', '>', '0'); })->get(); foreach($tickets as $ticket) dispatch(new SendOverdueTicketNotification($ticket)); } /** * @return array */ protected function getArguments() { return []; } /** * @return array */ protected function getOptions() { return [ ['database', null, InputOption::VALUE_OPTIONAL, 'Database', null], ]; } }