2017-10-09 16 views
0

我正在尝试生成发票pdf并将其附加到电子邮件中。但是,我有一个挑战,要将数据传递给PDF附件。见下文;将数据传递给laravel中的附件

$data = array('org_name' => $org_name, 'org_commission' => $org_commission); 

$emails = $users->email; 
$amount_topUp = $request->amount_topUp; 

Mail::send('emails.setting', $data, function ($m) use ($emails) { 
     $pdf = \PDF::loadView('PDF.topUp',['amount_topUp' => $amount_topUp])->stream(); 
     $m->attachData($pdf, 'TopUp' . date("Y-m-d H:i:s") . '.pdf'); 
     $m->to($emails)->subject('Account Top Up Notification.'); 
    }); 

此失败未定义变量:amount_topUp。该变量已定义。我觉得那是我的错误,却不是另一种方式。

Howerver当我删除传递给PDF的参数时,所有内容都会在生成PDF时起作用;但没有变量通过,但没有达到要求。

任何助阵

回答

1

尝试使用use关键字

Mail::send('emails.setting', $data, function ($m) use ($emails,$amount_topUp) { 
     $pdf = \PDF::loadView('PDF.topUp',['amount_topUp' => $amount_topUp])->stream(); 
     $m->attachData($pdf, 'TopUp' . date("Y-m-d H:i:s") . '.pdf'); 
     $m->to($emails)->subject('Account Top Up Notification.'); 
    }); 
+0

真棒传递$amount_topUp。成功了! –

+0

@ BobMwenda.glade在这里为你提供了帮助。 – iCoders