Source Code CRUD Laravel menggunakan Query Builder #9

Assalamualaikum, wr. wb. teman — teman, gimana hasil tutorial CRUD yang sudah kalian ikuti? Oh ya buat kalian yang langsung nyasar kesini, saya sarankan untuk mengikuti tutorial CRUD Laravel 5.8 yang sudah saya share sebelumnya. Nah berikut sudah saya beri list tiap langkah tutorialnya.

List tutorial CRUD Laravel yang harus kalian ikuti:

  1. Instalasi dan Membuat Projek Baru
  2. Penjelasan Route dan View
  3. Cara Membuat Route
  4. Cara Membuat Controller
  5. Cara Menampilkan Data
  6. Cara Menambahkan Data
  7. Cara Edit Data
  8. Cara Hapus Data
Jika sudah selesai, jika kalian ingin copy paste kodenya, ini saya bagikan. Tapi saran saya kalian biasakan mengetiknya sendiri meskipun dengan melihat tidak apa — apa. Sebenarnya saya tidak mau share kodenya secara langsung. Tapi ya gimana ya? ya udah kalau gitu, ya begini aja.

Route

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
use App\Http\Controllers\HomeController;
Route::get('/home', 'HomeController@index');
Route::get('/home/tambah', 'HomeController@tambahData');
Route::post('/home/simpan', 'HomeController@simpan');
Route::get('/home/edit/{id}', 'HomeController@edit');
Route::post('/home/update', 'HomeController@update');
Route::get('/home/hapus/{id}', 'HomeController@hapus');
Route::get('/profil', function () {
return view('profil');
});

Controller


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php

namespace App\Http\Controllers;

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

class HomeController extends Controller
{
    public function index()
    {
        //mengambil data dari tabel mahasiswa
        $mahasiswa = DB::table('mahasiswa')->get();
        //mengirim data ke view mahasiswa
        return view('mahasiswa', ['mahasiswa' => $mahasiswa]);
    }

    public function tambahData()
    {
        return view('form_data');
    }

    public function simpan(Request $request)
    {
        DB::table('mahasiswa')->insert([
            'nama' => $request->nama,
            'umur' => $request->umur,
            'kota' => $request->kota

        ]);
        return redirect('/home');
    }

    public function edit($id)
    {
        // mengambil data mahasiswa berdasarkan id yang dipilih
        $mahasiswa = DB::table('mahasiswa')->where('id', $id)->get();
        // passing data mahasiswa yang didapat ke view edit.blade.php
        return view('edit', ['mahasiswa' => $mahasiswa]);
    }

    public function update(Request $request)
    {
        // update data mahasiswa berdasarkan id
        DB::table('mahasiswa')->where('id', $request->id)->update([
            'nama' => $request->nama,
            'umur' => $request->umur,
            'kota' => $request->kota,
        ]);
        // alihkan halaman ke halaman home
        return redirect('/home');
    }

    public function hapus($id)
    {
        // menghapus data mahasiswa berdasarkan id 
        DB::table('mahasiswa')->where('id', $id)->delete();

        // alihkan halaman ke halaman home
        return redirect('/home');
    }
}

Views

mahasiswa.blade.php


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <table border=" 1">
        <tr>
            <th>Nama</th>
            <th>Umur</th>
            <th>Kota</th>
            <th>Opsi</th>
        </tr>
        @foreach($mahasiswa as $mhs)
        <tr>
            <td>{{ $mhs->nama }}</td>
            <td>{{ $mhs->umur }}</td>
            <td>{{ $mhs->kota }}</td>
            <td>
                <a href="/home/edit/{{ $mhs->id }}">Edit</a>
                |
                <a href="/home/hapus/{{ $mhs->id }}">Hapus</a>
            </td>
        </tr>
        @endforeach
    </table>
</body>

</html>


form_data.blade.php


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <h1>Form Tambah Data</h1>
    <form action="/home/simpan" method="post">
        {{ csrf_field() }}
        Nama <input type="text" name="nama" required="required"> <br />
        Umur <input type="number" name="umur" required="required"> <br />
        Kota <input type="text" name="kota" required="required"> <br />
        <input type="submit" value="Simpan Data">
    </form>
</body>

</html>


edit.blade.php


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    @foreach($mahasiswa as $mhs)
    <form action="/home/update" method="post">
        {{ csrf_field() }}
        <input type="hidden" name="id" value="{{ $mhs->id }}"> <br />
        Nama <input type="text" required="required" name="nama" value="{{ $mhs->nama }}"> <br />
        Umur <input type="number" required="required" name="umur" value="{{ $mhs->umur }}"> <br />
        Kota <input type="text" required="required" name="kota" value="{{ $mhs->kota }}"> <br />
        <input type="submit" value="Simpan Data">
    </form>
    @endforeach
</body>

</html>


NB: Adapun kode yang tidak saya sertakan, yaitu konfigurasi database. Karena setiap orang memiliki pengaturan yang berbeda — beda. Maka dari itu sesuaikan dengan database kalian masing — masing. Jika ingin tahu cara setting-nya silahkan cek disini.
Oke sekian semoga bermanfaat. Wasalamualikum wr. wb.

1 Komentar

  1. Kalo pas dihosting pake required="required" ttp lancar dan ga error?

    BalasHapus
Lebih baru Lebih lama