foreach pada view namun array kosong

@foreach($dosens as $dosen)

      <table class="highlight bordered">
              <thead>
                <tr>
                    <th data-field="id">Nama</th>
                    <th data-field="name">NIP</th>
                    <th data-field="price">Email</th>
                    <th data-field="price">Telp</th>
                    <th data-field="price">Foto</th>
                    <th data-field="price">Dibuat</th>
                    <th data-field="price">Diupdate</th>
                    <th data-field="price">Atur</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>{{$dosen->nama}}</td>
                  <td>{{$dosen->nim}}</td>
                  <td>{{$dosen->email}}</td>
                  <td>{{$dosen->telp}}</td>
                  <td>
                    <img class="materialboxed" width="60"
                    src="{{ asset('storage/ktm/' .$dosen->ktm) }}" data-caption="File: {{$dosen->ktm}}">
                  </td>
                  <td><label for="">{{$dosen->created_at}}</label></td>
                  <td><label for="">{{$dosen->updated_at}}</label></td>
                  <td><a href="pengguna/{{$dosen->id}}/delete" class="tooltipped" data-tooltip="Delete"><i class="material-icons">delete</i></a>
                  <a href="pengguna/{{$dosen->id}}/edit" class="tooltipped" data-tooltip="Edit"><i class="material-icons">edit</i></a>
                  <a href="pengguna/{{$dosen->id}}/lock" class="tooltipped" data-tooltip="Kunci"><i class="material-icons">lock_outline</i></a></td>
                </tr>
              </tbody>
            </table>

        @endforeach

Ketika dijalankan dengan data lancar, namun ketika semua dosen dihapus, di collection dosens kosong [], sehingga muncul error

Undefined variable: dosen

Mohon dibantu :)

avatar ikhsangama
@ikhsangama

6 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

6 Jawaban:

Jawaban Terpilih

diuji dulu dengan if else sebelumnya kalo isi array ngga kosong baru di for loop

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

ketika saya dd isEmpty di controllernya memang true, tapi ketika saya coba di viewnya seperti ini

  @if($dosens->isEmpty())
                  <h2>data kosong</h2>
                  @else
                  @foreach($dosens as $dosen)
                  <td>{{$dosen->nama}}</td>
                  <td>{{$dosen->nim}}</td>
                  <td>{{$dosen->email}}</td>
                  <td>{{$dosen->telp}}</td>
                  <td>
                    <img class="materialboxed" width="60"
                    src="{{ asset('storage/ktm/' .$dosen->ktm) }}" data-caption="File: {{$dosen->ktm}}">
                  </td>
                  <td><label for="">{{$dosen->created_at}}</label></td>
                  <td><label for="">{{$dosen->updated_at}}</label></td>
                  <td><a href="pengguna/{{$dosen->id}}/delete" class="tooltipped" data-tooltip="Delete"><i class="material-icons">delete</i></a>
                  <a href="pengguna/{{$dosen->id}}/edit" class="tooltipped" data-tooltip="Edit"><i class="material-icons">edit</i></a>
                  <a href="pengguna/{{$dosen->id}}/lock" class="tooltipped" data-tooltip="Kunci"><i class="material-icons">lock_outline</i></a></td>
                  @endforeach
                  @endif
                </tr>

Masih menghasilkan error yang sama, Undefined variable: dosen. Saya juga mencoba peletakan @if dan @endif yang di luar tabel justru "unexpected endif"

ini koding untuk controller saya

public function index()
    {
        $penggunas = User::all();
        // dd($penggunas);
        $list_dosen = $penggunas->where('level', 2)->where('status',1)->where('setuju',1)->sortBy('nama');
        $list_mhs_d3 = $penggunas->where('level', 'D III')->where('status',1)->where('setuju',1)->sortBy('nama');
        $list_mhs_d4 = $penggunas->where('level', 'D IV')->where('status',1)->where('setuju',1)->sortBy('nama');
        $list_blm_ver = User::where('setuju', '<>', 1)
          ->orwhere('status', '<>', 1)->orderBy('nama')->get();
        // dd($list_dosen->isEmpty());
        return view('dash_admin/pengguna', [
        'dosens'=>$list_dosen,
        'mhs_d3s'=>$list_mhs_d3,
        'mhs_d4s'=>$list_mhs_d4,
        'blm_verifs'=>$list_blm_ver,
      ]);
    }
avatar ikhsangama
@ikhsangama

6 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Hmm.. error Undefined variable: dosen. ada keterangannya ngga pada baris berapa? baris yang di table itu? mungkin ada variable $dosen di luar if elsenya,

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

tidak ada variable dosen di luar tabel itu, karena pakai template blade jadi saya kurang tau baris mana yang salah, saya mensiasatinya sudah mencoba komentarin semua baris selain tabel itu (untuk memastikan gak ada tabel lain yang pakai variabel $dosen) namun masih menghasilkan error yang sama,

avatar ikhsangama
@ikhsangama

6 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

D:\xampp\htdocs\labakper\storage\framework\views\195dc8a6f3c8c1bcdd4592e766e370cc9769a51e.php line 133: Undefined variable: dosen

avatar ikhsangama
@ikhsangama

6 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

ternyata gak ada masalah di kodingnya, walaupun belum berhasil, tapi simpulkan masalahnya ketika peletakan kondisional di dalam tabelnya, ketika saya sederhanakan,

@extends('layouts.app')

@section('content')
<body class="blue lighten-5">

    <div class="row">
        <div class=""><h2>Daftar Pengguna</h2>
          <a href="{{ url('/pengguna/create') }}" class="btn waves-effect waves-light">Tambah</a>
        </div>
<!-- <hr> -->
@if(session('success'))
<div class="card-panel green lighten-4">
{{session('success')}}
</div>
@elseif(session('alert'))
<div class="card-panel red lighten-4">
{{session('alert')}}
</div>
@endif
<!-- coba -->

@foreach ($dosens as $dosen)
{{$dosen->nama}}
@endforeach

<!-- akhircoba -->
      </div>

array kosong dia tidak menghasilkan error, namun ketika saya buat foreach dalam tabel masih bermasalah.

#SOLVED

avatar ikhsangama
@ikhsangama

6 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban