У меня два взгляда.Один из них - показать представление фильтра (вид 1).Другой способ - получить данные из представления фильтра, а затем экспортировать их в файл PDF (представление 2).Это означает, что при нажатии «Печать» файл PDF будет экспортирован, а представление 2 будет отображать файл PDF с данными представления 1.
. Теперь я не знаю, как получить данные из представления 1 и показать вВид 2.
Вот мой код:
Вид1:
<form method="get">
<select name="type" onchange="this.form.submit()">
<option value="">All types</option>
@foreach ($types as $item)
<option value="{{ $item->id }}" @if ($request->type == $item->id) selected @endif>{{ $item->name }}</option>
@endforeach
</select>
</form>
<br>
<a href="pdf">Print</a>
<br><br>
<table border="1">
<tr>
<th>ID</th>
<th>Content</th>
<th>Type</th>
</tr>
@foreach ($data as $q)
<?php $typeName = App\Type::find($q->type_id);?>
<tr>
<td>{{ $q->id }}</td>
<td>{{ $q->content }}</td>
<td>{{ $typeName->name }}</td>
</tr>
@endforeach
</table>
Вид2: Это представление будет отображаться в PDF-файле, но я не знаю, как получить значение изView1
<table border="1">
<tr>
<th>ID</th>
<th>Content</th>
<th>Type</th>
</tr>
</table>
FilterController:
public function getFilter(Request $request){
$types = Type::all();
$model = Question::where('id', '>', 0)->with('types');
if (isset($request->type))
$model = $model->where('type_id', $request->type);
$data = $model->paginate(15)->appends(request()->query());
return view('View1', compact( 'data', 'request', 'types'));
}
PrintController:
public function getValueFromView2(){
//I've to write something to get value from View1
}
public function getPDF(){
$pdf = PDF::loadView('View2');
return $pdf->download('test.pdf');
}
View1 с функцией фильтра работает нормально.Я хочу экспортировать PDF-файл с данными View1 после фильтрации