大家好,我试图使用barryvdh / laravel-dompdf,一切正常,但我无法将我的数据加载到视图中以动态生成内容,我不断得到“未定义的变量:数据'
这是我的代码:
$data =[
'fname'=>Input::get('efname'),
'lname'=>Input::get('elname'),
'dob'=>Input::get('edob'),
'reg_date'=>date('Y-m-d'),
'email'=>Input::get('eemailaddrs'),
'gender'=>Input::get('gender'),
'mobile'=>Input::get('emobile'),
'p_addrss'=>Input::get('epaddress'),
'c_addrss'=>Input::get('ecaddress'),
'quals'=>Input::get('quali'),
'pdfname'=>$pdfname,
'empId'=>Input::get('employeeId'),
];
return PDF::loadView('employee/generatepdf',$data)
->save(public_path().'/pdfs/'.$pdfname.'.pdf');
进入pdf模板页面。但是无法获取数组值。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<img align="center" src="{{public_path()}}/assets/img/logo.png">
<table align="center" style="width:100%;margin-top:25px;">
<tr>
<td style="width:50%">Registration ID</td>
<td style="width:50%">:{{$data['empId']}}</td>
</tr>
<tr>
<td style="width:50%">Name</td>
<td style="width:50%">:{{$data['fname']}} {{$data['lname']}}</td>
</tr>
</table>
</body>
</html>
也没有将css规则带入pdf文件。
我如何解决这个问题......?
由于
答案 0 :(得分:1)
您可以通过以下方式检查数组是否包含数据:
$data =[
'fname'=>Input::get('efname'),
'lname'=>Input::get('elname'),
'dob'=>Input::get('edob'),
'reg_date'=>date('Y-m-d'),
'email'=>Input::get('eemailaddrs'),
'gender'=>Input::get('gender'),
'mobile'=>Input::get('emobile'),
'p_addrss'=>Input::get('epaddress'),
'c_addrss'=>Input::get('ecaddress'),
'quals'=>Input::get('quali'),
'pdfname'=>$pdfname,
'empId'=>Input::get('employeeId'),
];
dd($data);
return PDF::loadView('employee/generatepdf',$data)->save(public_path().'/pdfs/'.$pdfname.'.pdf');
试试吧,你会发现你的数组是否包含数据
答案 1 :(得分:0)
试试这样, 使用数组作为视图的第二个参数。
Map<String, String> mappings = new HashMap<>();
mappings.put("foo", "http://foo");
mappings.put("foo2", "http://foo");
mappings.put("bar", "http://bar");
context = new SimpleNamespaceContext(mappings);
context.getNamespaceURI("foo"); // "http://foo"
context.getPrefix("http://foo"); // "foo" or "foo2"
context.getPrefixes("http://foo"); // ["foo", "foo2"]
答案 2 :(得分:0)
您需要使用$data
函数传递compact()
变量
return PDF::loadView('employee/generatepdf',compact('data'))
->save(public_path().'/pdfs/'.$pdfname.'.pdf');