Tutorial membuat CRUD dengan Laravel pada tutorial kali ini akan mempelajari bagaimana menampilkan data dari databse MySQL. CRUD merupakan singkatan dari istilah Create, Read, Update, Delete.

Tutorial CRUD Laravel kali ini akan mempelajari Read yang berarti proses membaca data dari database ke dalam view.

Tutorial Membuat CRUD Dengan Laravel
Oke langsung saja kita mulai tutorial CRUD menmpilkan data dari database dengan Laravel dan disini saya menggunakan laravel versi 5.8 dengan project saya beri nama laravel58, nah kita mulai dengan melakukan konfigurasi database terlebih dahulu.

Pengaturan Database Pada Laravel
Karena kita akan bermain-main dengan database, maka hal utama pertaman adalah melakukan konfigurasi database pada Laravel. Pada umumnya ada dua opsi pengaturan database pada Laravel yaitu, pertama kita bisa memanfaatkan file .env dimana file ini dapat kita temukan pada core bagian terluar laravel, kedua kita bisa mengatur konfigurasi database pada file config/database.php.

Pengaturan Koneksi Database Di Laravel pada file .env

Silahkan teman-teman sesuaikan pengaturan database seperti contoh diatas, selanjutnya kita lanjutkan dengan mempersiapkan database dan tabel yang kita butuhkan.

Mempersiapkan Database dan Tabel Kelas
Tahapan berikutnya adalah teman-teman siapkan database, pada tutorial kali ini database project saya beri nama tutorial_laravel, dan tabel kelas saya beri nama tbl_kelas. Lebih detailnya seperti berikut.

Tabel tbl_kelas mysql

Menampilkan Data Dari Database Dengan Laravel
Sebelum melangkah lebih jauh bagaimana menampilkan data dari database dengan Laravel, maka pertama-tama kita harus punya data pada tabel yang kita buat tadi, dan disini saya telah menginputkan beberapa data pada tabel tbl_kelas yang telah kita buat tadi.

Setelah memiliki data pada tabel, maka tahap selanjutnya kita mulai dengan membuat route, istilah jauh tentang route teman-teman bisa baca pada website reminya laravel.com.

//route menampilkan data
Route::get(‘/kelas’,’KelasController@index’);

Selanjutnya kita akan buatkan controller KelasController.php, disini saya membuat controller menggunakan php artisan, seperti berikut.

php artisan make:controller PegawaiController –resource

Karena kita akan menggunakan query builder laravel untuk menarik data, maka disini kita wajib menyertakan tambahan perintah pada bagian atas seperti berikut.

use Illuminate\Support\Facades\DB;

Sehingga keseluruhan isi dari controller KelasController.php akan menjadi seperti berikut.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class KelasController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //mengambil data kelas
        $kelas = DB::table('tbl_kelas')->get();
 
    	// mengirim data kelas ke view index
    	return view('kelas.index',['kelas' => $kelas]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

Perhatikan pada method index() yang kita buat pada controller KelasController.php diatas, disana kita mengambil data dari tabel tbl_kelas hanya dengan perintah sangat simple dan pendek, yaitu

//mengambil data kelas
$kelas = DB::table(‘tbl_kelas’)->get();

Dengan fungsi table() kita dapat menentukan nama tabel yang kita pilih, dan fungsi get() berguna untuk menampilkan data dari tabel yang dipilih.

Jadi sebenarnya fungsi yang ada pada method index() jika kita jalankan dengan query mysql maka akan seperti “SELECT * FROM tbl_kelas”.

Selanjutnya data tersebut akan kita passing atau kita kirimkan datanya ke view agar ditampilkan, dengan fungsi berikut
// mengirim data kelas ke view index
return view(‘kelas.index’,[‘kelas’ => $kelas]);

Oke, teman-teman perhatikan perhatikan pada fungsi diatas, disana saya menuliskan didalam view(‘kelas.index’,…..) maksudnya disini adalah view saya kelompokkan kedalam modul kelas, sehingga nantinya mempermudah untuk pengelompokkan dan pencarian ketika terjadi perubahan.

Nah sampai disini kita telah berhasil melakukan query tampil data kelas, selanjutnya kita akan buatkan view nya dengan nama index.blade.php

@extends('layouts.app')

@section('content')
	<div class="row">
                <div class="col-lg-12">
				@include('_partials.flash_message')
                <div class="ibox float-e-margins">
                    <div class="ibox-title">
                        <h5>Data Kelas</h5>						
                        <div class="ibox-tools">
                            <button class="btn btn-primary btn-sm btn-flat" data-toggle="modal" data-target="#modal-add"><i class="fa fa-plus"></i>Tambah</button>
                        </div>
                    </div>
                    <div class="ibox-content">
                        <div class="table-responsive">
							<table class="table table-striped table-bordered table-hover dataTables-example" >
							<thead>
							<tr>    
                                <th>Kelas</th>
								<th>Aksi</th>
							</tr>
							</thead>
							<tbody>                            
                            @foreach($kelas as $row)
                            <tr>
                                <td>{{$row->kelas}}</td>
                                <td>
                                    <button type="button" class="btn btn-xs btn-success edit"><i class="fa fa-pencil"></i></button>
                                    <button type="button" class="btn btn-xs btn-danger hapus"><i class="fa fa-trash"></i></button>
                                </td>
                            </tr>
                            @endforeach
							</tbody>
							<tfoot>
							
							</tfoot>
							</table>
                        </div>
                    </div>
                </div>
            </div>
            </div>

@endsection

Pada view index.blade.php diatas teman-teman perhatikan dimana sebelumnya pada controller data dari tabel tbl_kelas kita panggil dan kita simpan dalam variabel $kelas kemudian kita passing ke view, sehingga di view kita langsung saja tampilkan dalam bentuk perulangan foreach().

 @foreach($kelas as $row)
                            <tr>
                                <td>{{$row->kelas}}</td>
                                <td>
                                    <button type="button" class="btn btn-xs btn-success edit"><i class="fa fa-pencil"></i></button>
                                    <button type="button" class="btn btn-xs btn-danger hapus"><i class="fa fa-trash"></i></button>
                                </td>
                            </tr>
                            @endforeach

Sekarang mari kita jalan di browser dan kita akses route ‘/kelas’, maka akan ditampilkan data pada view seperti berikut.

Menampilkan data dengan Laravel

Oke sekian dulu tutorial kali ini, sampai disini kita sudah berhasil mengeksekusi tutorial menampilkan data dengan laravel.

Pada part selanjutnya kita akan melanjutkan tutorial membuat CRUD dengan Laravel dengan pembahasan Create yang berarti membuat proses input data ke database dengan Laravel.