Laravel 5.2 CRUD Sederhana : Bagian 5





















Postingan keempat untuk series tutorial ini kita sudah sampai edit data dan untuk bagian lima ini kita akan membuat untuk hapus data dan beberapa tambahan lainnya untuk mempercantik behavior respon aplikasinya.

Hal pertama yang harus kita buat adalah file view untuk menampilkan data yang kita pilih sebelum melakukan tindakan penghapusan, karena untuk mencegah terhapusnya data karena ketidaksengajaan.
Berikut adalah baris kode untuk view hapus data dengan nama file delete.blade.php.
@extends('templates.default')
@section('content')
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Form Ubah Data Siswa</div>
                <div class="panel-body">
                    <form action=" {{ route('student.destroy', $students->id) }} " method="POST" class="form-horizontal">
                        <input type="hidden" name="_method" value="DELETE">
                        <div class="form-group">
                            <label for="" class="control-label col-md-3">Nama Siswa</label>
                            <div class="col-md-6">
                                <input type="text" name="name" class="form-control" value="{{ Request::old('name') ?: $students->name }}" readonly="">
                            </div>
                            <div class="col-md-3"></div>
                        </div>
                        <div class="form-group">
                            <label for="" class="control-label col-md-3">Alamat Siswa</label>
                            <div class="col-md-6">
                                <input type="text" name="address" class="form-control" value="{{ Request::old('address') ?: $students->address }}" readonly="">
                            </div>
                            <div class="col-md-3"></div>
                        </div>
                        <div class="col-md-3"></div>
                        <div class="col-md-6">
                            <button type="submit" class="btn btn-primary btn-sm">Simpan</button>
                            <a href=" {{ route('student') }} " class="btn btn-primary btn-sm">Batal</a>
                        </div>
                        <input type="hidden" name="_token" value="{{ Session::token() }}">
                    </form>
                </div>
            </div>
        </div>
    </div>
@stop
Berikutnya yang harus kita buat adalah routing untuk menampilkan view dan proses hapusnya.
Route::get('student/delete/{id}', [
    'as' => 'student.delete', 'uses' => 'StudentController@delete'
]);

Route::delete('student/delete/{id}', [
    'as' => 'student.destroy', 'uses' => 'StudentController@destroy'
]);
Selanjutnya kita buat controllernya.
public function delete($id)
    {

        $students = Student::findOrFail($id);

        return view('students.delete')->with('students', $students);
    }
public function destroy($id)
    {
        
        $students = Student::findOrFail($id);

        $students->destroy($id);

        return redirect()
            ->route('student')
            ->with('info', 'Data berhasil dihapus');
    }
Oke, kita sudah selesai dengan fungsi hapus dan selanjutnya kita akan membuat respon untuk form tambah data dan form edit data, agar ketika form masih kosong kemudian kita tekan tombol simpan akan tampil tulisan peringatan untuk memberitahukan kalau form tidak boleh kosong. Check it out!!
@extends('templates.default')
@section('content')
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Form Tambah Data Siswa</div>
                <div class="panel-body">
                    <form action=" {{ route('student.post') }} " method="POST" class="form-horizontal">
                        <div class="form-group {{ $errors->has('name') ? 'has-error' : '' }} ">
                            <label for="" class="control-label col-md-3">Nama Siswa</label>
                            <div class="col-md-6">
                                <input type="text" name="name" class="form-control" value="{{ Request::old('name') ? : '' }}">
                                @if ($errors->has('name'))
                                    <span class="help-block"> {{ $errors->first('name') }} </span>
                                @endif
                            </div>
                            <div class="col-md-3"></div>
                        </div>
                        <div class="form-group {{ $errors->has('address') ? 'has-error' : '' }} ">
                            <label for="" class="control-label col-md-3">Alamat Siswa</label>
                            <div class="col-md-6">
                                <input type="text" name="address" class="form-control" value="{{ Request::old('address') ? : '' }}">
                                @if ($errors->has('address'))
                                    <span class="help-block"> {{ $errors->first('address') }} </span>
                                @endif
                            </div>
                            <div class="col-md-3"></div>
                        </div>
                        <div class="col-md-3"></div>
                        <div class="col-md-6">
                            <button type="submit" class="btn btn-primary">Simpan</button>
                            <a href=" {{ route('student') }} " class="btn btn-warning">Batal</a>
                        </div>
                        <input type="hidden" name="_token" value="{{ Session::token() }}">
                    </form>
                </div>
            </div>
        </div>
    </div>
@stop
Untuk view halaman ubah kalian tinggal tambahkan saja seperti view tambah data diatas.
Akhirnya tutorial sederhana ini selesai juga. Apabila kalian masih ada yang belum dimengerti baik itu dengan tulisannya ataupun dengan kode-kodenya, kalian bisa tanyakan di bagian komentar dibawah ini. Terimakasih ya teman-teman.

Share this

Related Posts

Previous
Next Post »