Level 51
I have the above stored in a job class like so:
<?php
namespace App\Jobs;
use App\Campaigns;
use App\Jobs\Job;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
class CampaignOverdue extends Job implements SelfHandling, ShouldQueue
{
use InteractsWithQueue, SerializesModels;
/**
* @var Campaigns
*/
public $campaign;
/**
* @var
*/
private $days;
/**
* @var
*/
private $now;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Campaigns $campaign, $days, $now)
{
$this->campaign = $campaign;
$this->days = $days;
$this->now = $now;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
if ($this->campaign->updated_at != $this->days && $this->campaign->updated_at <= $this->days) {
$data = array(
'name' => Auth::user()->first_name,
'email' => Auth::user()->email,
'campaign' => $this->campaign->campaign_name
);
// Send the email
Mail::send('emails/campaigns/overdue', $data, function( $message ) use ($data)
{
$message->to($data['email'])
->from('noreply@domain.com')
->subject('Campaign inactive for more than 7 days');
});
}
}
}
But question is how do I pass this to a console command class, so i can set it run within Forge.