آموزش گرفتن خروجی PDF از داده های بانک اطلاعاتی لاراول
سلام خدمت شما دوستان عزیز. در این پست آموزشی نحوه خروجی گرفتن از اطلاعات جداول بانک اطلاعاتی Database لاراول در قالب PDF را برای شما دوستان آماده کردیم. با ما همراه باشید:
در این آموزش از پکیج dompdf استفاده خواهیم کرد. برای نصب این پکیج دستور زیر را در ترمینال/CMD وارد کنید:
composer require barryvdh/laravel-dompdf
سپس فایل app.php موجود در پوشه config را باز کرده و Service Provider زیر را به آن اضافه کنید:
Barryvdh\DomPDF\ServiceProvider::class,
حالا facade زیر را در بخش Aliases اضافه کنید:
'PDF' => Barryvdh\DomPDF\Facade::class,
ساخت مدل و جدول
با استفاده از مایگریشین یک جدول با نام items بسازید:
php artisan make:migration create_items_table
پوشه database/migrations را باز کنید و کد های زیر را در تابع up اضافه کنید:
Schema::create('items', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('description');
$table->timestamps();
});
کد زیر را نیز به تایع down اضافه کنید:
Schema::drop("items");
حالا یک مدل با نام Item بسازید:
php artisan make:model Item
فایل Item.php ایجاد شده در پوشه app را باز کنید و کد زیر را به آن اضافه کنید:
public $fillable= ['title', 'description'];
ساخت کنترلر و مسیر
یک کنترلر با نام PdfController بسازید:
php artisan make:controller PdfController
کنترلر ساخته شده را باز کرده و کدهای زیر را به آن اضافه کنید:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Item; use PDF;
class PdfController extends Controller {
public function export(){
$items= Item::all();
$pdf = PDF::loadView('pdf', ['items' => $items]);
return $pdf->download('export.pdf');
}
}
به مسیر resources/views رفته و یک view با نام pdf.blade.php بسازید و کد های زیر را به آن اضافه کنید:
<!DOCTYPE html>
<html>
<head>
<title>Chasboon- export Laravel Database to PDF</title>
<style type="text/css">
table {
border-collapse: collapse;
}
tr,
td {
border: 1px solid #000;
}
</style>
</head>
<body>
<table>
<tr>
<th>Id</th>
<th>Title</th>
<th>Description</th>
</tr>
@foreach ($items as $item)
<tr>
<td>{{ $item->id }}</td>
<td>{{ $item->title }}</td>
<td>{{ $item->description }}</td>
</tr>
@endforeach
</table>
</body>
</html>
حالا فایل web.php در پوشه routes را باز کنید و مسیر زیر را در آن تعریف کنید:
Route::get('exportpdf', 'PdfController@export');
پروژه را اجرا کرده و مسیر exportpdf/ را در مرورگر وارد کنید. خواهید دید یک فایل با نام export.pdf دانلود خواهد شد که حاوی جدولی با فیلدهای تعریف شده در جدول item می باشد.
امیدوارم که این آموزش مورد پسند شما قرار گرفته باشد. چسبون مرجع برنامه نویسی و طراحی وب