В моем Laravel -5.8 я хочу отправить уведомление по электронной почте конкретному hod
:
public function show($id)
{
if (! Gate::allows('leave_request_review')) {
return abort(401);
}
$userCompany = Auth::user()->company_id;
$userEmployee = Auth::user()->employee_id;
$leaverequest = HrLeaveRequest::findOrFail($id);
$departmentId = $leaverequest->department_id;
$hodId = DB::table('hr_departments')->select('dept_head')->where('id', $departmentId)->first()->dept_head;
$hodEmail = DB::table('hr_employees')->select('email')->where('id', $hodId)->where('company_id', $userCompany)->first()->email;
die(var_dump($departmentId));
$hoddetails = [
'subject' => 'Leave for : '.$employeeFirstName,
'greeting' => 'Dear '.$hodFirstName . ' '. $hodFirstName . ',',
'body' => 'Please note that you have a Leave request awaiting your approval (' . $employeeFirstName . ' ' .$employeeLastName. ') ',
'line1' => 'Please note that you have a Leave request awaiting your approval (' . $employeeFirstName . ' ' .$employeeFirstName. ') ',
'thanks' => 'Thank you!',
'hod_email' => $hodEmail,
'hod_id' => $hodId,
'notification_type' => 'HOD Leave Approval',
];
Notification::route('mail', $hoddetails['hod_email'])
->notify(new \App\Notifications\Leave\LineManagerToHod($hodetails));
return View::make('hr.employee_leaves.show')
->with('leaverequest', $leaverequest);
}
Затем я получил эту ошибку:
Попытка получить свойство 'email' не-объекта
Когда я
dd($hodId);
в
$hodId = DB::table('hr_departments')->select('dept_head')->where('id', $departmentId)->first()->dept_head;
, я обнаружил, что dept_name
равно нулю, и это делает $hodEmail
быть нулевым, так что это вызывает ошибку.
Как мне решить эту проблему? Или даже прекратить действие или показать сообщение вместо ошибки?