我具有导出PDF的功能。 这1个视图上有1个以上的收集数据。像这样
public function PDF(Request $request,$id){
$users = User::findOrFail($id);
$pendidikan = Data_riwayat_pendidikan::where('user_id',$id)->get();
$pdf = PDF::loadView('admin.pdf',['users' => $users,'pendidikan'=>$pendidikan]);
return $pdf->stream('Profile.pdf')->header('Content-Type','application/pdf');
}
我可以显示 USERS数据,例如 {{$ users-> nama}}
正常显示,但。我尝试了这个{{$ pendidikan-> jenjang}},它有错误:
此集合实例上不存在属性[jenjang]。 (查看:C:\ xampp \ htdocs \ project \ resources \ views \ admin \ pdf.blade.php)
我尝试dd($ pendidikan);并显示如下:
Collection {#340 ▼
#items: array:1 [▼
0 => Data_riwayat_pendidikan {#345 ▼
#table: "data_riwayat_pendidikan"
#guarded: []
#connection: "mysql"
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:9 [▼
"id" => 1
"user_id" => 14
"jenjang" => "PERGURUAN TINGGI"
"nama_tempat" => "Universitas blablabla"
"jurusan" => "Rekam Medis"
"lulus_tahun" => "2000"
"gelar" => "gelar"
"created_at" => "2019-07-31 08:52:30"
"updated_at" => "2019-07-31 08:52:30"
]
#original: array:9 [▶]
可以在堆放处显示。我该如何解决?
答案 0 :(得分:0)
$users
是单个对象。这样您就可以访问其属性。
但是$pendidikan
是一个集合。不是单个对象。所以你必须遍历它。
可能的解决方案
如果要在刀片文件上执行此操作。
@foreach($pendidikan as $item)
{{ $item->jenjang }}
@endforeach
答案 1 :(得分:0)
您可以尝试
@if(isset($pendidikan))
<script>
var dataJson = JSON.parse("{!!$pendidikan!!}");
</script>
@endif
或
{!! $ pendidikan-> jenjang !!}
显示未转义的数据 默认情况下,Blade {{}}语句是通过PHP的htmlspecialchars函数自动发送的,以防止XSS攻击。如果您不想转义数据,则可以使用以下语法:
你好,{!! $ name !!}。 回显应用程序用户提供的内容时,请务必小心。显示用户提供的数据时,请始终使用转义的双花括号语法来防止XSS攻击。