Я пытаюсь отправить почту, используя 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');
}
}
}