File: /home/imensosw/.trash/Commands/OpportunitySignedUpNotify.php
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Opportunity;
use App\OpportunityVolunteer;
use App\Partner;
use App\Notifications\OpportunitySignedUpNotifyPartner;
class OpportunitySignedUpNotify extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'command:opportunitysignedup';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$start_date = date('Y-m-d', strtotime(' +1 day'));
$opportunities = Opportunity::whereDate('start_date',$start_date)->get();
if($opportunities->count()){
foreach ($opportunities as $key => $opportunity) {
$partner = Partner::find($opportunity->partner_id);
$volunteers_signedup = OpportunityVolunteer::where('opportunity_id',$opportunity->id)->whereIn('volunteer_status',[0,1])->get()->count();
try {
$mailData = [
'partner' => $partner->name,
'opportunity_title' => $opportunity->opportunity_title,
'opportunity_id' => $opportunity->id,
'total_volunteer' => $volunteers_signedup,
];
$partner->notify(new OpportunitySignedUpNotifyPartner($mailData));
} catch (\Exception $e) {
//return $e->getMessage();
}
}
}
return 0;
}
}