此收藏集无法显示在刀片​​上

时间:2019-07-31 03:35:15

标签: laravel

我具有导出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 [▶]

可以在堆放处显示。我该如何解决?

2 个答案:

答案 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 !!}

laravel document

显示未转义的数据 默认情况下,Blade {{}}语句是通过PHP的htmlspecialchars函数自动发送的,以防止XSS攻击。如果您不想转义数据,则可以使用以下语法:

你好,{!! $ name !!}。 回显应用程序用户提供的内容时,请务必小心。显示用户提供的数据时,请始终使用转义的双花括号语法来防止XSS攻击。