我正在开发一个应用程序,它会在一段时间内向某些人发送一些表格链接。我已经使用了一个队列。但问题是,每个参与者都有自己独特的链接。我必须将它们全部设置为一个队列。所以我使用了laravel Mail类。通过发送邮件到达。但我面临的问题是电子邮件已成功发送给这些人。但我附加的链接被发送给所有人,它是最后一个数组键的数据。表示最后一个参与者的链接与他们共享。
这是我的Mail类构建功能,我使用foreach向不同的参与者发送不同的链接。
public function build()
{
// return $this->view('emails.formlink')
// ->subject('Participant Form Link');
foreach ($this->linktoShare as $key => $value) {
$participant = InhouseParticipants::get(['id', 'email'])->find($value->participant_id);
$this->mailData = $value->toArray();
$this->to($participant->email)
->view('emails.formlink')
->subject('Participant Form Link')
->with($this->mailData);
}
}
在视图中,我已将链接作为$mailData['link']
传递。如果你有任何解决方案,请建议我。
答案 0 :(得分:0)
Laravel Queue拥有以前运行的作业的副本,因此当您更改将推送到队列的代码块时需要重新启动队列,因此这是您的解决方案。
导航到您的项目目录并运行
php artisan queue:restart
再次发送作业,它将解决问题。