Я новичок в Laravel. Когда я пытаюсь создать файл PDF, то некоторое время работает должным образом, но некоторое время выдает исключение:
Попытка получить доступ к смещению массива по значению типа null
I Я использую "barryvdh/laravel-dompdf": "^0.8.5"
пакет и Laravel 5.8. Я также использую редактор Summernote для сохранения глав, каждая из которых содержит таблицу и изображения.
Вот мой код:
public function pdfcreate(Request $res){
$data=[];
$data['notes'] = Chapter::where('course_id',$res->course_id)->where('module_id',$res->module_id)-
>leftjoin('courses','chapters.course_id','=','courses.id')
->get();
$pdf = Course::where('id', $res->course_id)->first();
$data['pdfImg']= ($pdf->pdf_image)? $pdf->pdf_image:'';
if(count($data['notes'])>0){
$pdf = PDF::loadView('FrontPanel.pdf', $data);
return $pdf->download('module.pdf');
}else{
return redirect()->back()->with('status','Somthing is wrong.');
}
И это мое мнение:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Pdf - Haats</title>
<style>
@page { margin: 100px 25px; }
.titel-text{width:80%;margin:auto;overflow: hidden !important;margin-top:80px;padding-bottom:100px}
header { position: fixed; top: -50px; left: 50px; right: 50px; background-color: #ee455f; height: 5px;width:80%; }
footer { position: fixed; bottom: -10px; left: 50px; right: 50px; background-color: #ee455f; height: 5px;width:80%; }
</style>
</head>
<body>
<header>
<div class="border"></div>
<div class="top-logo" style="width:100%;">
<?php if(isset($pdfImg)){?>
<img src="{{asset('public/Course_Image/'.$pdfImg)}}" alt="back" style="height:400px;width:100%;margin-top:-12px">
<?php }else{?>
<img src="{{asset('public/Course_Image/1573897703i-know-nepal.png')}}" alt="back" style="height:400px;width:200px">
<?php }?>
</div>
</header>
<footer><div class="border"></div></footer>
<main>
<!-- <div class="logo-bottom" style="height:70px;background:red"></div> -->
<div class="titel-text" >
<?php
foreach($notes as $note){
echo html_entity_decode($note->chap_content);
}
?>
</div>
</main>
</body>
</html>
введите описание изображения здесь