Tutorial membuat CRUD di Laravel kali ini akan melanjutkan tutorial laravel membuat CRUD sebelumnya pada tutorial laravel part #1, dimana pada tutorial CRUD Laravel sebelumnya kita telah berhasil menampilkan data dari database maka tutorial kali ini akan membahas bagaimana membuat CRUD input data di Laravel.

Masih memanfaatkan database yang telah kita buat sebelumnya dan memanfaatkan tabel tbl_kelas, mari kita simak lanjutan tutorial berikut ini.

Menginput Data Ke Database Dengan Laravel
Untuk menginput data ke database MySQL dengan Laravel tidaklah terlalu sulit. Hampir sama seperti kita menginput data ke database dengan framework Codeigniter yang telah saya tulis pada tutorial sebelumnya.

Mari langsung saja kita bahas step step nya bagaimana membuat CRUD input data ke database dengan Laravel.

Pertama yang perlu kita lakukan adalah membuat route nya dulu, nah untuk route CRUD input data dengan Laravel disini saya beri nama ‘simpandata’, sehingga penulisan route nya menjadi seperti ini.

Route::POST(‘simpandata’,’KelasController@simpandata’)->name(‘simpandata’);

Oke teman-teman sebelumnya saya beri tahu kalau disini saya tidak akan membahas route memanggil view form tambah data melalui url, akan tetapi disini saya memanfaatkan form modal nya Bootstrap, sehingga route pada tutorial CRUD menginput data dengan Laravel disini langsung menuju route yang berfungsi mengirimkan data ke database dengan Laravel.

Kemudian tahap selanjutnya adalah kita menyiapkan form input data kelas, karena menggunakan modal nya Bootstrap maka formnya kita jadikan satu pada file kelas/index.blade.php, berikut ini adalah form nya.

<!-- modal -->
<div class="modal inmodal fade" id="modal-add" tabindex="-1" role="dialog" aria-hidden="true">
	<div class="modal-dialog modal-xs">
	<form name="frm_add" id="frm_add" class="form-horizontal" action="{{route('simpandata')}}" method="POST" enctype="multipart/form-data"> 
		@csrf
		<div class="modal-content">
		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
			<h4 class="modal-title">Tambah Data</h4>
		</div>
		<div class="modal-body">
			<div class="form-group"><label class="col-lg-2 control-label">Kelas</label>
				<div class="col-lg-10"><input type="text" name="kelas" placeholder="Kelas" class="form-control"></div>
			</div>  			 
		</div>
		<div class="modal-footer">			
			<button type="button" class="btn btn-white" data-dismiss="modal">Tutup</button>
			<button type="submit" class="btn btn-primary">Simpan</button>
		</div>
		</div>
	</form>
	</div>
</div>

Sehinga secara keseluruhan file kelas/index.blade.php akan menjadi seperti berikut ini.

@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>
<!-- modal -->
<div class="modal inmodal fade" id="modal-add" tabindex="-1" role="dialog" aria-hidden="true">
	<div class="modal-dialog modal-xs">
	<form name="frm_add" id="frm_add" class="form-horizontal" action="{{route('simpandata')}}" method="POST" enctype="multipart/form-data"> 
		@csrf
		<div class="modal-content">
		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
			<h4 class="modal-title">Tambah Data</h4>
		</div>
		<div class="modal-body">
			<div class="form-group"><label class="col-lg-2 control-label">Kelas</label>
				<div class="col-lg-10"><input type="text" name="kelas" placeholder="Kelas" class="form-control"></div>
			</div>  			 
		</div>
		<div class="modal-footer">			
			<button type="button" class="btn btn-white" data-dismiss="modal">Tutup</button>
			<button type="submit" class="btn btn-primary">Simpan</button>
		</div>
		</div>
	</form>
	</div>
</div>
@endsection

Nah sampai disini kita telah berhasil membuat form dan route untuk tutorial CRUD input data dengan Laravel, nah coba teman-teman refresh kembali browser nya atau jalan kembali route index sebelumnya yaitu route ‘/kelas’, kemudian klik tombol tambah, jeng jeng… maka form tambah data berhasil kita buat, berikut ini tampilannya.

Form Input Data Dengan Laravel

Tahap selanjutnya kita akan tambahkan method simpandata() pada controller KelasController.php yang telah berhasil kita buat pada tutorial sebelumnya, teman-teman buka kembali controller KelasController.php dan mari kita tambahkan method simpandata() nya, berikut isi dari method simpandata().

 /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function simpandata(Request $request)
    {
        $simpan = DB::table('tbl_kelas')->insert([
            'kelas'=>$request->post('kelas')
        ]);
		
		if($simpan){
			Session::flash('status','Data berhasil disimpan.');
		}else{
			Session::flash('status','Data gagal disimpan.');
		}
		return redirect('kelas');
    }

Sehingga struktur code pada controller KelasController.php secara keseluruhan akan menjadi seperti ini.

<?php

namespace App\Http\Controllers;

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

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

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function simpandata(Request $request)
    {
        $simpan = DB::table('tbl_kelas')->insert([
            'kelas'=>$request->post('kelas')
        ]);
		
		if($simpan){
			Session::flash('status','Data berhasil disimpan.');
		}else{
			Session::flash('status','Data gagal disimpan.');
		}
		return redirect('kelas');
    }

    /**
     * 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)
    {
        //
    }
}

Nah sampai disini kita telah berhasil menyelesaikan tutorial bagimana cara membuat CRUD input data ke database dengan Laravel, teman-teman bisa coba inputkan datanya pada form yang telah kita buat dan kemudian klik tombol simpan, bagaimana teman-teman sangat mudah kan.

CRUD Input Data Dengan Laravel

Akhirnya tutorial kali ini saya cukupkan sampai disini dulu teman-teman. Semoga tutorial membuat CRUD input data ke database dengan Laravel ini dapat membantu dan memberi manfaat. Pada tutorial selanjutnya akan kita bahas bagaimana membuat CRUD dengan Laravel dengan pembahasan edit dan update data ke database dengan Laravel. Terimakasih…