Вот мой код, работающий для отправки уведомлений по электронной почте нескольким пользователям
$users = User::whereIn('id', $userIds)->get();
\Notification::send($users, new DealPublished($deal));
Это работает, но если я хочу отложить это так
$users = User::whereIn('id', $userIds)->get();
$when = Carbon::now()->addSecond();
\Notification::send($users, new DealPublished($deal))->when($when);
Ошибка
FatalThrowableError in DealController.php line 226:
Call to a member function when() on null
Как я могу отправить уведомление по электронной почте нескольким пользователям, используя очередь и Notification Facade?
Спасибо за помощь
Попробуйте это так:
\Notification::send($users, (new DealPublished($deal))->delay($when));
Я думаю, вы должны попробовать это:
$when = Carbon::now()->addSecond(10);
\Notification::send($users, new DealPublished($deal))->later($when);
ИЛИ ЖЕ
\Notification::send($users, new DealPublished($deal))->when($when);
Надеюсь, эта работа для вас!
С циклом foreach
$when = Carbon::now()->addSecond();
foreach($users as $user){
$user->notify((new DealPublished($deal))->delay($when));
}
Это работает, но если есть более 1000 пользователей для уведомления, я не уверен насчет времени выполнения: D