<?php namespace App\Console\Commands; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Mail; use Illuminate\Console\Command; use App\Models\{Invoice,Site}; class InvoiceEmail extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'invoice:email {site} {id}'; /** * The console command description. * * @var string */ protected $description = 'Email Invoices to be client'; /** * Execute the console command. * * @return mixed */ public function handle() { Config::set('site',Site::findOrFail($this->argument('site'))); $o = Invoice::findOrFail($this->argument('id')); Mail::to($o->account->user->email)->send(new \App\Mail\InvoiceEmail($o)); try { $o->print_status = TRUE; $o->reminders = $o->reminders('send'); $o->save(); } catch (\Exception $e) { dd($e); } } }