我尝试使用cron
作业发送邮件。
我有一个department
表和一个activity
表。如果我运行命令,则发送邮件,但问题是我希望每个部门都能收到其活动邮件。
例如:我有SD
部门。 SD
部门将收到其活动邮件,而其他部门将不会收到此邮件。
我在这里上传代码。请建议我如何解决此问题。 在此先感谢。
public function sendNotificationForDepartment()
{
$departmentInfo = Department::pluck('department_name');
foreach ($departmentInfo as $department_name) {
$headMail = User::join('departments', 'departments.id', 'users.department_id')
->where('departments.department_name', '=', $department_name)
->where('users.is_head', 'Yes')
->orderBy('department_name')
->select('users.email')->get();
$departmentPending = IssueCustomer::leftJoin('assets', 'assets.id', 'issue_customers.plate_no')
->join('departments', 'departments.id', 'issue_customers.department_id')
->where('departments.department_name', $department_name)
->where('issue_customers.issue_status', '!=', 'Done')
->where('issue_customers.organisation_id', 1)
// ->where('issue_customers.issue_status', '=', 'Pending')
// ->orwhere('issue_customers.issue_status', '=', 'Processing')
->select('issue_customers.id',
'departments.department_name',
'issue_customers.organisation_name',
'issue_customers.issue_symptom',
'issue_customers.remarks',
'assets.registration_no',
'issue_customers.issue_posted_at'
)->get();
if(count($departmentPending) > 0) {
Mail::to($headMail)
->queue(new CustomerIssuePendingMail($departmentPending));
} else {
$this->info('No pending status found');
}
}
}