Undefined variable $data pada @foreach laravel

Saya ingin menampilkan data dari tabel 'mahasiswa' tapi ada pesan error  Undefined variable $data. Ini kodingan saya di daftar_mahasiswa.blade.php


@foreach ($data as $d)
                        <tbody>
                            <tr>
                                <td>{{ $d['no'] }}</td>
                                <td>{{ $d['nim'] }}</td>
                                <td>{{ $d['nama'] }}</td>
                                <td>{{ $d['prodi'] }}</td>
                                <td>{{ $d['j_kel'] }}</td>

                            </tr>
                        </tbody>
                    @endforeach

ini controllernya


class MahasiswaController extends Controller
{
    public function daftar_mahasiswa()
    {
        $data = mahasiswa::all();
        // return $data;
        return view('daftar_mahasiswa')->with('data', $data);
    }
}

ini model


class Mahasiswa extends Model
{
    use HasFactory;
    protected $table = 'mahasiswa';
}
avatar ieulan
@ieulan

5 Kontribusi 0 Poin

Diperbarui 1 tahun yang lalu

3 Jawaban:

Jawaban Terpilih

<div>Nama model di controller sepertinya salah, harusnya Mahasiswa tetapi kamu menulisnya mahasiswa<br><br>pastikan di route-nya itu memanggil fungsi daftar_mahasiswa juga bukan yang lain<br><br>oh iya, kalo boleh ngasih saran, di laravel bisa pakai fungsi compact(), coba pakai itu biar lebih simple, dan di view klo misal mau nampilin no tinggal $d-&amp;gt;no<br><br>semoga membantu</div>

avatar yuxxeun
@yuxxeun

97 Kontribusi 50 Poin

Dipost 1 tahun yang lalu

<div>Pesan kesalahan "Undefined variable $data" terjadi karena Anda mencoba menggunakan variabel $data di view, tetapi belum didefinisikan terlebih dahulu. Anda dapat memperbaiki hal ini dengan mendefinisikan variabel tersebut di controller sebelum mengembalikan view. Dalam kasus Anda, Anda dapat melakukannya dengan menambahkan baris berikut ke dalam metode daftar_mahasiswa():<br><br><br></div><pre>$data = Mahasiswa::all();</pre><div><br><br>Setelah Anda mendefinisikan variabel tersebut, Anda dapat menggunakannya di view tanpa masalah apa pun. Berikut adalah kode yang diperbarui untuk view Anda:<br><br><br></div><pre>@foreach ($data as $d) &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;{{ $d['no'] }}&lt;/td&gt; &lt;td&gt;{{ $d['nim'] }}&lt;/td&gt; &lt;td&gt;{{ $d['nama'] }}&lt;/td&gt; &lt;td&gt;{{ $d['prodi'] }}&lt;/td&gt; &lt;td&gt;{{ $d['j_kel'] }}&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; @endforeach</pre><div><br><br>Berikut adalah kode yang diperbarui untuk controller Anda:<br><br><br></div><pre>class MahasiswaController extends Controller { public function daftar_mahasiswa() { $data = Mahasiswa::all(); return view('daftar_mahasiswa')-&gt;with('data', $data); } }</pre><div><br><br>Setelah Anda membuat perubahan ini, view Anda seharusnya dapat menampilkan data dari tabel mahasiswa tanpa ada kesalahan lagi.</div>

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

<div>Yes. I got it. Thanks for your post.<br><br>____________________________________________________________________________________<br><br><a href="https://trapthecat3.com">trap the cat</a></div>

avatar parsonsnash
@parsonsnash

1 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban