Laravel 5.3 - 针对不同用户集合的单一通知文件?

时间:2017-01-13 21:47:15

标签: php laravel laravel-5 laravel-5.3

鉴于100关注者,一旦我完成了待办事项,就会触发通知。问题是80他们只想要电子邮件通知,而另一个20只想要短信通知。这是否意味着我需要使用2个不同的通知调用:

Notification::send($emailOnlyUsers, new TodoCompletedEmail($todo));

只有邮件频道,然后:

Notification::send($smsOnlyUsers, new TodoCompletedSms($todo));

只有短信频道?或者是否可以在TodoCompleted Notification文件中使用$emailOnlyUsers$smsOnlyUsers的逻辑,其中两个通道一起列出来处理一个文件中不同用户的不同通道?像这样:

$user->notify(new TodoCompletedEmail($todo));

我问,因为我宁愿在一个文件中使用不同的频道,但我认为我不能,因为Laravel的通知期望传递的用户集合(在这种情况下确实有2个用户集合),但更多的频道/不同的集合是可能的,并且必须为相同的TodoCompleted通知的每个频道/用户集合创建新的通知文件。有人可以说明是否有可能将它放在一个文件中,如果是这样的话?

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

<div ng-show="seat1"><i id="space-1" class="ion-record"></i></div>
<div ng-show="seat2"><i id="space-2" class="ion-record"></i></div>
<div ng-show="seat3"><i id="space-3" class="ion-record"></i></div>
<div ng-show="seat4"><i id="space-4" class="ion-record"></i></div>

然后在你的TodoCompleted Class

foreach($users as $user)
    $user->notify(new TodoCompleted($todo));