lundi 22 octobre 2018

Laravel PDF create error - stdClass::save

I create with the CRUD System from Laravel a "Customer". I have a "Detailed" view for every customer. When i click on the view i get some information and update button. Now i want to create from the information that i save into the database a PDF. my code is the following:

Button:

<a href="/mvs/mvs/public/admin/kunden/pdf/">Button html</a>

Route:

Route::get('/admin/kunden/pdf/{id}', 
'DynamicPDFController@get_customer_data');

Controller:

<?php

namespace MVS\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use PDF;

class DynamicPDFController extends Controller
{
function index()
{
 $customer_data = $this->get_customer_data();
 return view('dynamic_pdf')->with('customer_data', $customer_data);
}

function get_customer_data($id)
{
 //Handle PDF stuff here 

 $customer_data = DB::table('kundens')
 ->where('id', '=', $id)
 ->first();

//Save PDF link to customer here

$customer_data->save();
return $customer_data;
}

function pdf()
{
 $pdf = \App::make('dompdf.wrapper');
 $pdf->loadHTML($this->convert_customer_data_to_html());
 return $pdf->stream();
}

function convert_customer_data_to_html()
{
 $customer_data = $this->get_customer_data();
 $output = '
 <h3 align="center">Angebot</h3>
 <table width="100%" style="border-collapse: collapse; border: 0px;">
  <tr>
<th style="border: 1px solid; padding:12px;" width="20%">Vorname</th>
<th style="border: 1px solid; padding:12px;" width="30%">Nachname</th>
<th style="border: 1px solid; padding:12px;" width="15%">Stadt</th>
<th style="border: 1px solid; padding:12px;" width="15%">PLZ</th>
</tr>
 ';  
 foreach($customer_data as $kunden)
 {
  $output .= '
  <tr>
   <td style="border: 1px solid; padding:12px;">'.$kunden->vorname.'</td>
   <td style="border: 1px solid; padding:12px;">'.$kunden->nachname.'</td>
   <td style="border: 1px solid; padding:12px;">'.$kunden->wohnort.'</td>
   <td style="border: 1px solid; padding:12px;">'.$kunden->plz.'</td>
  </tr>
  ';
  }
  $output .= '</table>';
  return $output;
 }
}

And this is the view/blade:

     <th>Name</th>
  </tr>
 </thead>
 <tbody>
 @foreach($customer_data as $kunden)
  <tr>
   <td></td>

  </tr>
 @endforeach

Now when i click on my HTML button i get an error:

Call to undefined method stdClass::save()



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire