我正在Laravel项目上,我想将表单中的输入值从一页(题字页面)发送到pdf页面(我希望用户能够下载)。我找不到将它们从该页面发送到另一个
的方法输入:全部 使用控制器
中的$request
<div class="fieldgroup">
<input type="text" style="color:0B0C51" onclick="submitform2()" name="cin" id="cin"
placeholder="N°CIN" maxlength="8" class="required"></i><br>
</div>
<div class="fieldgroup">
<input type="text" style="color:0B0C51" v-model="prenom" name="prenom" id="prenom"
placeholder="Prenom" class="required"><br>
</div>
<div class="fieldgroup">
<input type="text" style="color:0B0C51" v-model="nom" onclick="submitform2()" name="nom"
id="nom" placeholder="Nom" class="required"><br>
</div>
<div class="fieldgroup">
<input type="mail" style="color:0B0C51" name="email" id="email" placeholder="Email"
class="required" />
</div>
ViewController :
class ViewController extends Controller
{
public function generatePDF(Request $request){
$request=this.
$data="form";
$pdf= PDF::loadView('pdf',compact('data'));
return $pdf->download('Terms.pdf');
}
}
web.php :
Route::get('/pdf','ViewController@generatePDF');
inscriController:
public function store(Request $request)
{
$cin = $request->input('cin');
$data = array(['cin'=>$cin ]);
DB::table('form')->insert($data);
return redirect('/pdf')->withInput();
这将返回一个没有输入值的空白表单页面
答案 0 :(得分:0)
在 inscriController 的store
方法中加载pdf可能更容易。实际上,您正在重定向,并且没有将任何数据传递到pdf生成器/视图。您将$request
设置为没有任何表单数据的控制器($this
),然后将一个单词“ form”作为数据集传递给PDF生成器。我认为这不会按照您希望的方式工作-我认为pdf视图正在寻找特定的变量(而不是“ form”),因此失败了,因为这些变量丢失了。 IE,您需要提取$name = $request->get('name')
之类的变量,并从$request
变量中传递所需的pdf.blade.php视图。
如果您不想在store
函数中完成所有操作,也许将其传递给同一 inscriController 中的方法?这样,您可以轻松地将实际请求对象推入该方法并提取PDF视图所需的字段。
答案 1 :(得分:0)
使用$input = $request->all();
获取数据,并在相同的函数中而不是重定向,您只需返回/ pdf路由的视图即可。
像return view('yourpath.pdf', compact('input'));