我有一个收藏集,例如:
$users =
collect([ (object) [ 'name' => 'user1', 'email' => 'user1@gmail.com' ],
(object) [ 'name' => 'user2', 'email' => 'user2@gmail.com' ]
]);
您能帮助我了解如何将集合发送到Notification Facade以便向该用户发送电子邮件吗?
谢谢您的帮助。
答案 0 :(得分:0)
如果您要询问如何发送到列表中的收藏集,而不是当前用户,我想如果要使用Notification Facade,则需要(至少暂时)创建用户或个人。查找到要发送的数据库。从手册中:
您可以通过“通知”外观发送通知。这主要在您需要将通知发送到多个可通知实体(例如用户集合)时有用。要使用外观发送通知,请将所有可通知的实体和通知实例传递给send方法。
要使此功能正常运行,您将需要在use Notifiable
模型或您选择的任何模型上User
。在数据库中创建新用户,然后将此集合发送到外观。如果您不想在通知发出后将它们保留在数据库中,则可以将其删除,但是从您的问题中我无法确定问题所在。拥有User
个对象的集合之后,就可以在该存储的用户集合上调用通知外观:
Notification::send($users, new WhateverYourNotificationInstanceIsCalled($someNotification));
或者,如果您想为此设置结构,则可以创建一个新的“邀请”类型的东西,但是无论哪种方式,您仍然要在数据库中创建东西。它可以使您的用户模型保持整洁,但可以完成很多工作。例如
$invite = Invite::create([
'name' => $request->get('name'),
'email' => $request->get('email'),
'token' => str_random(60),
]);
$invite->notify(new UserInvite());