我有一个Controller,它监听一个新的Schedule创建,并通过ajax将结果发送回视图.在其中,我想添加通知,以便在由于特定日期和时间缺乏资源而无法完成计划时向用户发送电子邮件.
问题是我得到以下错误:
Class 'App\Http\Controllers\Notification' not found in /laravel/app/Http/Controllers/DadosAgendamentoController.php on line 89
文件夹结构是这样的:
-app -Http -Controllers DadosAgendamentoController.php -Notifications AgendamentoPendente.php
DadosAgendamentoController.php头码:
namespace App\Http\Controllers; use Input; use Request; use App\Servicos; use App\Disponibilidades; use App\Estabelecimentos; use App\HorariosEstabelecimento; use App\Agendamento; use App\User; use App\Notifications\AgendamentoPendente;
第88和89行:
$user = User::where('id',1)->get(); Notification::send($user, new AgendamentoPendente(1));
通过我的控制器我可以访问上面的所有类,但不能访问AgendamentoPendente
我的目标是发送电子邮件给管理员,这样当资源在所需的日期和时间不可用时,他可以向客户建议新的日期和时间.
怎么修好?我可以在此Controller中访问该类吗?怎么样?
通知可以通过两种方式发送:使用Notifiable trait的notify方法或使用Notification facade.
https://laravel.com/docs/5.3/notifications#sending-notifications
选项1
你可以使用notify()
方法:
$user->notify(new AgendamentoPendente(1));
另外,确保User
类使用Notifiable
特征:
use Illuminate\Notifications\Notifiable; class User extends Authenticatable { use Notifiable;
选项2
使用具有完整名称空间的Fac
\Notification::send($user, new AgendamentoPendente(1));