簡體   English   中英

Laravel - 從數組注冊自定義通知通道

[英]Laravel - Register Custom Notification Channel from array

我按照文檔在 Laravel 中創建了一個自定義通知通道。

自定義頻道 class 稱為TeamsBotChannel ,我可以通過執行以下操作輕松使用它:

public function via($notifiable){
  
    return [TeamsBotChannel::class];

}

現在,在我的數據庫中,我將用戶通知首選項存儲在一個表中。 via方法中,我想查詢這些並返回它們,以便用戶可以決定他們希望在哪些渠道上得到通知。

這可能如下所示:

public function via($notifiable){
    
    $channels = $notifiable->channels->toArray();
    //$channels return an array: ['email', 'slack', 'msteams']
     
}

現在我的問題是,如何將msteams值鏈接到我的自定義頻道TeamsBotChannel 我可以輕松地返回email並在via方法中slack ,但對於自定義通道,我需要參考 class。

我最終做的只是:

public function via($notifiable){
    
    $channels = $notifiable->channels;
    return $channels->map(function($item){
    
      return $item == 'msteams' ? TeamsBotChannel::class : $item;

    })->toArray();
     
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM