我想用数据库中选定的用户名来代替'john'。邮件上有办法吗
控制器
public function sendEmail(Request $request)
{
$users = StudentApplicants::whereIn("id", $request->ids)->get();
$data = [
'name' => 'john'
];
$pdf = app('dompdf.wrapper');
$pdf->loadView('admin.send-awardees-certificates.certificate', $data);
$pdf->setPaper('A4', 'landscape');
foreach ($users as $key => $user) {
Mail::to($user->users->email)->send(new CertificateEmail($user, $pdf));
}
return response()->json(['success' => 'Send email successfully. Refresh the page']);
}
邮件
public function build()
{
return $this->from(env('info@example.com'))
->subject('Certificate from ABC EFG')
->view('email.certificate-email') //body
->attachData($this->pdf->output(), 'stock_report.pdf');
}
证书刀片
<div class="name">
{{ $name }}
</div>
您可以接受用户作为构造函数参数
public function __construct(User $user)
{
$this->user = $user;
}
然后把它传给像这个一样的视图
$this->view('email.certificate-email')
->with([
'user' => $this->user
]);
我认为文档中的这一部分会对你有所帮助。