Как отправить почту нескольким выбранным пользователям - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть таблица собраний, в которой я храню информацию о собраниях, и где я могу выбрать собрание между двумя типами пользователей пользователь типа посетителя и пользователь типа хоста .У меня много-много отношений между пользователями и встречами, поэтому у меня есть сводная таблица 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 голосов
/ 13 сентября 2018

Существует два сценария, в которых вы можете отправить электронное письмо пользователям на собрание:

  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 имеет признак , подлежащий уведомлению , вы можете изменить код на:

...

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

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...