[英]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.