2017-10-11 3 views
0

モデルからデータを取得してから、PDF添付ファイルを生成して電子メールで送信します。PDF添付ファイル生成時にデータを渡す

ただし、配列として渡す必要があるため、PDFビュー側でデータを取得するのは難しい課題です。下記参照;

$allTransaction = TblAirtimePurchaseInfo::where('org_name', '=', $user->org_name)->get(); 

$allTransaction = (array) $allTransaction; 

$emails = $user->email; 
$name = ['first_name' => $user->first_name]; 

Mail::send('emails.send_transactions_email', $name, function ($m) use ($emails, $allTransaction) { 
$pdf = PDF::loadView('PDF.sendAllTransaction',['allTransaction' => $allTransaction])->stream(); 
$m->attachData($pdf, 'Transactions_for_' . date("Y-m-d") . '.pdf'); 
$m->to($emails)->subject('Transaction ' . date("Y-m-d"));   
}); 
PDF.sendAllTransactionビューで

私はループを通って値を取得しようとしています。

<table class="table no-margin" id="data"> 
    <thead> 
    <tr> 
     <th> ID </th> 
     <th> Date </th> 
     <th> Amount </th> 
     <th> Phone Number </th> 
    </tr> 
    </thead> 

    <tbody> 

    @php 
     $allTransaction = (object) $allTransaction; 
     $id = 1; 
    @endphp 

    @foreach($allTransaction as $detail) 
     <tr> 
      <td> {{$id ++}} </td> 
      <td> {{$detail->created_at}}</td> 
      <td> {{$detail->amount}}</td> 
      <td> {{$detail->phoneNumber}}</td> 
     </tr> 
    @endforeach 
    </tbody> 
</table> 

はしかし、私はは非オブジェクトエラーのプロパティを取得しようとすると取得します。ビューで値を取得するにはどうすればよいですか?

誰でも?

+0

問題は、コードのこの行からオブジェクトを配列に変換しようとしていることです。 $ allTransaction =(配列)$ allTransaction; ビューファイルでは、オブジェクトからデータを取得しています。 –

+0

@ pdshah3690しかし、私はオブジェクトとしてデータを渡すことはできません。配列として渡す必要があります。ビューでは、配列をオブジェクトに変換してデータにアクセスしようとします。 –

+0

この代わりに '$ allTransaction =(array)$ allTransaction;' これを使用しよう$ allTransaction = $ allTransaction-> toArray(); –

答えて

0

@ pdshah3690で借用コメント;

これは私のコントローラで行い、オブジェクトとして渡されたものです。

$allTransaction = TblAirtimePurchaseInfo::where('org_name', '=', $user->org_name)->get(); 

$emails = $user->email; 
$name = ['first_name' => $user->first_name]; 

Mail::send('emails.send_transactions_email', $name, function ($m) use ($emails, $allTransaction) { 
$pdf = PDF::loadView('PDF.sendAllTransaction', compact('allTransaction'))->stream(); 
$m->attachData($pdf, 'Transactions_for_' . date("Y-m-d") . '.pdf'); 
$m->to($emails)->subject('Transaction ' . date("Y-m-d"));   
}); 

ビューは変更されません。私はオブジェクトとしてallTransactionを私の視点に渡すことができました。

関連する問題