2017-03-24 43 views
1

私は電子メールの添付ファイルに問題があります。pdfを生成してください、あなたに助けてください。ここで添付ファイルをLaravelのメールに添付してください

はコントローラーです:

public function kirim(Request $request){ 
    $keluhan = keluhan::findOrFail($request->id); 

    $tindak = DB::table('tindakans') 
    ->join('keluhans','keluhans.id','=','tindakans.id_keluhan') 
    ->select(DB::raw('tindakans.id, id_keluhan, perbaikan_sementara, revisi_dokumen, target_verifikasi, ttd_tanggung1, 
    ttd_tanggung2'))->get(); 

    $analisa = DB::table('analisas') 
    ->join('tindakans','tindakans.id','=','analisas.id_tindakan') 
    ->join('keluhans','keluhans.id','=','tindakans.id_keluhan') 
    ->select(DB::raw('id_tindakan, analisa, tindakan, pic, tanggal_pelaksanaan'))->get(); 

    $pdf = \PDF::loadView('laporan.ptkp',compact('keluhan','tindak','analisa','halaman')); 
    //return $pdf->stream(); 

    $data = array(
     'email_address'=>$request->email_address, 
     'cc'=>$request->cc, 
     'subject'=>$request->subject, 
     'keterangantambahan'=>$request->keterangantambahan 
    ); 

    Mail::send('laporan.kirim', $data, function($message) use($data) { 
     $message->from('[email protected]', 'PuraBox'); 
     $message->to($data['email_address']); 
     if($data['cc'] != null){ 
      $message->cc($data['cc']); 
     } 
     $message->subject($data['subject']); 
     $message->Attach($pdf); 
    }); 

    return redirect('/'); 
} 

にはどうすれば$pdfを添付することができますか?

答えて

1

あなたが使用している:

$message->Attach($pdf); 

をあなたの閉鎖に渡される$メッセージオブジェクトに添付メソッドを使用して、電子メールに添付ファイルを追加します。取り付け方法は、最初の引数としてファイルのフルパスを受け付けます

Source

あなたは(大文字に文字なし)attachメソッドを使用する必要があり、パラメータに、あなたがパスを渡す必要がありますpdfは生成されたpdfではありません。ドキュメントのように言う。最後に

$message->attach($pathToFile); 

、そのようなことになります。

Mail::send('laporan.kirim', $data, function($message) use($data) { 
    $message->from('[email protected]', 'PuraBox'); 
    $message->to($data['email_address']); 
    if($data['cc'] != null){ 
     $message->cc($data['cc']); 
    } 
    $message->subject($data['subject']); 

    //Full path with the pdf name 
    $message->attach('foo/bar/mypdfname.pdf'); 
}); 
+0

私はこの後に$ pdf-> save(base_path()。 '/ public/document/report/laporan.pdf')を生成します。 次に、私がbase_path()を使ったので、 –

0

私はあなたがPDF生成に使用しているライブラリを知りませんが、私はこのようなAPIの何かがあるはずと思い、

$pdf = \PDF::loadView('laporan.ptkp',compact('keluhan','tindak','analisa','halaman')); 

$path = storage_path('app/public/pdf/')."example.pdf"; 

$pdf->save($path); 

return $path; 

次に、パスを使用して電子メールに添付することができます。

これが役に立ちます。

関連する問題