Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menampilkan data dengan livewire laravel 10

 

buat ke terminal kayak gini sesuaikan folder "Dashboard/Guru/Mapel"

php artisan make:livewire Dashboard/Guru/Mapel

otomatis akan terbuat blade dan controller


masuk ke web.php buat kayak gini, ganti mapel::class sesuaikan dengan controller dan panggil dengan "use" sesuai dengan controller yg tadi di buat


name('dashboard.mapel'); fungsinya untuk manggil route cth di dalam sidebar.blade.php ke web.php dibawah

use App\Livewire\Dashboard\Guru\Mapel;
Route::get('/dashboard/mapel', Mapel::class)->name('dashboard.mapel');


pada controller mapel

use App\Models\Mapel as MapelModel;

class Mapel extends Component
{
    public function render()
    {
        $mapel = MapelModel::all();
        return view('livewire.dashboard.guru.mapel', compact('mapel'))->layout('layouts.dashboard');
    }
}

atau menggunakan seperti ini

        $siswadata = SiswaModel::orderBy('created_at', 'DESC')->get();
        return view('livewire.dashboard.guru.siswa', compact('siswadata'))->layout('layouts.dashboard');


fungsi dari untuk menjadikan mapelmodel 

use App\Models\Mapel as MapelModel;

memanggil database di model 

$mapel = MapelModel::all();

memanggil view dan layout default "layout('layouts.dashboard');" mirip seperti penggunakna @extend & @yield jadi nanti di blade gak perlu panggil @extend & @yield 

"compact" fungsinya memanggil "$mapel"



return view('livewire.dashboard.guru.mapel', compact('mapel'))->layout('layouts.dashboard');

pada model, fungsi $table untuk memanggil table "mapel" di database

$fillable = fungsi untuk table apa saja yg bisa di ambil, buat security aja

    protected $table = 'mapel';

    protected $fillable = [
        'nama_mapel',
        'guru_id',
        'kelas_id',
        'tingkat_pendidikan_id',
        'jenis_mapel',
        'nilai_minimal',
        'hari',
    ];


isi blade, 

fungsi dari "  @foreach($mapel as $data)" untuk menyingkronkan controller ke blade

"$mapel as $data" mengambil dari controller "mapel = MapelModel::all();" dan diubah menjadi "$data"


tinggal panggil dalam foreach "{{ $data->id }}"

"id" adalah field pada table itu

<div id="background">
<a class="btn btn-primary" href="/dashboard/data-siswa/tambah" role="button" style="margin: 20px;">Tambah Data Siswa</a>
<table class="table table-bordered" style="margin: 20px;text-align: center;">
  <thead>
    <tr>
    <th scope="col">No</th>
    <th scope="col">Nama Mapel</th>
    <th scope="col">Guru</th>
    <th scope="col">Kelas</th>
    <th scope="col">Tingkat</th>
    <th scope="col">Jenis Mapel</th>
    <th scope="col">Nilai Minimal</th>
    <th scope="col">Hari</th>

    <th scope="col">Opsi</th>
    </tr>
  </thead>
  <thead>
  @foreach($mapel as $data)
 <tr>

 <td>{{ $data->id }}</td>
 <td>{{ $data->nama_mapel }}</td>
 <td>{{ $data->guru_id }}</td>
 <td>{{ $data->kelas_id }}</td>
 <td>{{ $data->tingkat_pendidikan_id }}</td>
 <td>{{ $data->jenis_mapel }}</td>
 <td>{{ $data->nilai_minimal }}</td>
 <td>{{ $data->hari }}</td>
 <td>
 <a href="/pegawai/edit/{{ $datasiswa->id }}">Edit</a>
 |
 <a href="/pegawai/hapus/{{ $datasiswa->id }}">Hapus</a>
 </td>
 </tr>
 @endforeach
</thead>
</table>
 

 
 <br/>
 <br/>
</div>