2017-10-09 47 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