我有一个会议表,用于存储会议信息,并且可以在两种类型的用户访问者类型用户和主持人类型之间选择会议。用户和会议之间存在很多关系,这就是为什么我有数据透视表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')));
答案 0 :(得分:1)
在两种情况下,您可以向用户发送电子邮件到会议:
一旦您希望通过电子邮件向用户添加用户,可以执行以下操作:
...
$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));
});
我希望这会有所帮助。