РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
843 of 1392 menu

Метод notifyNow

Метод notifyNow применяется к экземпляру модели или коллекции моделей и отправляет уведомление получателю немедленно, в синхронном режиме. В отличие от метода notify, который помещает уведомление в очередь, notifyNow выполняется сразу. Первым параметром передаётся экземпляр класса уведомления, вторым необязательным параметром можно указать каналы доставки.

Синтаксис

<?php $model->notifyNow($notification, $channels); ?>

Пример

Давайте отправим уведомление пользователю о регистрации немедленно:

<?php namespace App\Http\Controllers; use App\Models\User; use App\Notifications\WelcomeNotification; class UserController extends Controller { public function register() { $user = User::create([ 'name' => 'John Doe', 'email' => 'john@example.com', ]); $user->notifyNow(new WelcomeNotification()); return response()->json(['message' => 'User registered']); } } ?>

Результат выполнения кода:

"User registered"

Пример

Давайте отправим уведомление нескольким пользователям с указанием конкретных каналов:

<?php namespace App\Http\Controllers; use App\Models\User; use App\Notifications\SystemAlertNotification; class NotificationController extends Controller { public function sendAlert() { $users = User::where('is_active', true)->get(); $users->notifyNow(new SystemAlertNotification(), ['mail', 'broadcast']); return response()->json(['message' => 'Alerts sent']); } } ?>

Результат выполнения кода:

"Alerts sent"

Пример

Давайте используем метод в консольной команде для срочных уведомлений:

<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Models\User; use App\Notifications\EmergencyNotification; class SendEmergencyNotification extends Command { protected $signature = 'notify:emergency'; protected $description = 'Send emergency notifications'; public function handle() { $admin = User::where('role', 'admin')->first(); if ($admin) { $admin->notifyNow(new EmergencyNotification('System failure')); $this->info('Emergency notification sent'); } else { $this->error('Admin not found'); } } } ?>

Результат выполнения кода:

"Emergency notification sent"

Смотрите также

  • метод notify,
    который отправляет уведомление через очередь
  • метод send,
    который отправляет уведомление через фасад Notification
  • метод sendNow,
    который немедленно отправляет уведомление через фасад Notification
  • класс Notification,
    который является фасадом для отправки уведомлений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить