我有一个 session 表,我在其中存储 session 信息,并且可以在两种类型的用户访客类型用户和主持人类型用户之间选择 session 。我在用户和 session 之间存在多对多关系,这就是为什么我有一个数据透视表 meeting_user。我需要为一次 session 向所有选定的用户发送邮件。
我正在尝试使用它发送电子邮件,但它将 meeting_id 存储到数据库的 notifiable_id 列中。那么如何将 users_id 存储在数据库的 notifiable_id 列中。
$meetings->save();
$meetings->users()->attach($request->user_id);
$users = Meeting::with('users')->get();
\Mail::to($user->send(New NewMeeting($meetings('id')));
最佳答案
有两种情况可以向参加 session 的用户发送电子邮件:
- 当用户被添加到 session 中时
- 当提醒所有用户(批量)他们已被添加到 session 时。
向刚刚添加的用户发送邮件时
如果您想在添加后向用户发送电子邮件,您可以执行以下操作:
...
$meeting = Meeting::find($meeting_id);
$user = User::find($request->user_id);
$meeting->users()->attach($user->id);
\Notification::send($user, new NewMeetingNotification($user));
这将添加到代码中,仅将一个用户添加到 session 中,而不是多个用户。
同时向 session 中的所有用户发送电子邮件时
如果您想批量向用户发送电子邮件,添加所有用户后,您可以执行以下操作。
...
$meeting = Meeting::with('users')->where('id', $meeting_id)->first();
$meeting->users()->each(function ($user, $key) {
\Notification::send($user, new NewMeetingNotification($user));
});
$meeting_id
是相关 session 。
通知用户(可选)
如果 user
模型有 notifiable trait,你可以把代码改成:
...
$meeting = Meeting::with('users')->where('id', $meeting_id)->first();
$meeting->users()->each(function ($user, $key) {
$user->notify(new NewMeetingNotification($user));
});
希望对您有所帮助。
关于html - 如何向多个选定的用户发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312713/