Создание PDF Laravel Вызов неопределенного метода stdClass :: save () - PullRequest
0 голосов
/ 22 октября 2018

Я сделал ссылку на создатель PDF в своем приложении laravel.Но когда я нажимаю на ссылку в PDF, я получаю 404. Это мой код:

Ссылка на клиента:

<a href="/mvs/mvs/public/admin/kunden/pdf/{{ $kunden->id }}">Button html</a>

Маршрут:

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

Контроллер PDF:

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

class DynamicPDFController extends Controller
{
function index()
{
 $customer_data = $this->get_customer_data();
 $finance_data = $this->get_finance_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)
 ->firstOrFail();

//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>

';
foreach ($ customer_data as $ kunden) {$ output. =' '. $ Kunden-> vorname.''. $ Kunden-> nachname.'. $ Kunden-> Wohnort.'. $ Kunden-> плз.

Полные маршруты:

Route::get('/mvs/mvs/public/admin/kunden/pdf/{id}', 

'DynamicPDFController@get_customer_data');


Route::get('/home', 'HomeController@index')->name('home');

Route::resource('admin/kunden', 'KundenController');

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::get('/dynamic_pdf', 'DynamicPDFController@index');

Route::get('/dynamic_pdf/pdf', 'DynamicPDFController@pdf');

Когда я сейчас нажимаю на ссылку «Кнопка HTML», я получаю страницу с ошибкой 404.Но я не знаю почему: (

ОБНОВЛЕНИЕ:

Call to undefined method stdClass::save()

Это новая ошибка - я редактирую маршрут к ответу.

1 Ответ

0 голосов
/ 22 октября 2018

Попробуйте изменить свой маршрут следующим образом:

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

(То же, что и ваш другой маршрут)

Я думаю, что ваш файл index.php находится в /mvs/mvs/public/, поэтому Laravel будет толькополучить маршрут оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...