如何发送多个选定用户的邮件

时间:2018-09-13 11:24:45

标签: html css arrays laravel-5

我有一个会议表,用于存储会议信息,并且可以在两种类型的用户访问者类型用户和主持人类型之间选择会议。用户和会议之间存在很多关系,这就是为什么我有数据透视表Meeting_user的原因。我需要为一次会议发送所有选定用户的邮件。

我正在尝试使用此方法发送电子邮件,但是它会将 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')));

1 个答案:

答案 0 :(得分:1)

在两种情况下,您可以向用户发送电子邮件到会议:

  1. 将用户添加到会议中
  2. 向所有用户(批量)提醒已添加会议的会议时。

给刚刚添加的用户发送电子邮件时

一旦您希望通过电子邮件向用户添加用户,可以执行以下操作:

...

$meeting = Meeting::find($meeting_id);

$user = User::find($request->user_id);

$meeting->users()->attach($user->id);

\Notification::send($user, new NewMeetingNotification($user));

这将添加到代码中,该代码只会将一个用户添加到会议中,而不是将多个用户添加到会议中。

一次向会议中的所有用户发送电子邮件

如果您想批量发送电子邮件给用户,添加完所有用户后,您可以执行以下操作。

...

$meeting = Meeting::with('users')->where('id', $meeting_id)->first();

$meeting->users()->each(function ($user, $key) {
    \Notification::send($user, new NewMeetingNotification($user));
});

$meeting_id是有问题的会议。

通知用户(可选)

如果user模型具有notifiable特征,则可以将代码更改为:

...

$meeting = Meeting::with('users')->where('id', $meeting_id)->first();

$meeting->users()->each(function ($user, $key) {
    $user->notify(new NewMeetingNotification($user));
});

我希望这会有所帮助。