我有一个带有数据/信息的页面,上面有一个下载按钮,可将我的页面转换为pdf。现在,下载按钮是我的处理方式。
我当前的页面网址。
Route::get('/inventory/{id}', function ($id) {
$inventory = Inventory::find($id);
return view('layouts._inventory-template', ['inventory' => $inventory])
});
视图中的我的按钮
<a href="{{ action('ClientController@viewPdf', ['id' => $request()->route('id')]) }}" class="button button-secondary"><span></span>PDF</a>
ClientController中的功能
public function viewPdf($id)
{
$inventory = Inventory::find($id);
$pdf = PDF::loadView('layouts._inventory-template');
return $pdf->download('inventory.pdf');
}
问题:如何在视图页面中实现PDF下载按钮的逻辑?
答案 0 :(得分:0)
在您的路由器中:
Route::get('/viewPdf/{id}', 'ClientController@viewPdf');
您可以简单地在href中呼叫路线:
<a href="/viewPDF/{{ $id }}" class="button button-secondary"><span></span>PDF</a>
答案 1 :(得分:0)
我建议:
Route::get('/inventory/{id}', 'ClientController@downloadPdf')->name('download-pdf');
ClientController
public function downloadPdf()
{
$inventory = Inventory::find($id);
$pdf = PDF::loadView('layouts._inventory-template', $inventory);
return $pdf->download('inventory.pdf');
}
按钮
<a href="{{ route('download-pdf', Auth::user()->id) }}" title="">Download<i class="la la-download"></i></a>
注意:如果需要其他任何功能,请在按钮中更改 Auth :: user()-> id
答案 2 :(得分:0)
可以用许多不同的方法来做,但是您可以使用route方法并用名称来更新您的路线...
使用以下名称更新您的路线:
const moment = require('moment')
const a = '08-01-2019';
const outputDateFormat = 'MM-DD-YYYY';
const b = moment(a, 'MM-DD-YYYY').add(1, 'years').add(-1, 'days').format(outputDateFormat);
console.log(b);
现在使用路由方法:
Route::get('/inventory/{id}', function ($id) {
$inventory = Inventory::find($id);
return view('layouts._inventory-template', ['inventory' => $inventory])
})->name('inventory_show');
答案 3 :(得分:0)
只需在标签中添加下载属性
<a href="{{ action('ClientController@viewPdf', ['id' => $request()->route('id')]) }}" class="button button-secondary" download><span></span>PDF</a>