CRUD | PART 5 | Insert Data Dari Laravel ke Database

Baringin
By -
0

 Menambah Data



    Sebelumnya setelah selesai membahas bagaimana menampilkan data dari database ke view di laravel maka kali ini kita akan membahas bagaimana menambahkan data ke database. dengan menggunakan perintah create.

    Ada dua jenis metode untuk menambahkan data ke database, yaitu insert()dan create(). Insert() dan create() adalah metode yang digunakan untuk memasukkan data ke dalam database Anda. Namun, keduanya berbeda dalam hal cara menangani data yang dimasukkan. Meskipun tampak serupa, keduanya memiliki beberapa perbedaan utama dalam hal penggunaan dan fungsionalitas.    


Insert()

    Method insert() merupakan metode statis yang digunakan untuk memasukkan record baru ke dalam tabel di database yang sangat berguna ketika Anda perlu menyisipkan beberapa baris sekaligus. Satu hal yang perlu diperhatikan tentang insert() adalah  metode ini tidak mengembalikan ID dari rekaman yang disisipkan. Artinya jika Anda perlu mengambil ID dari record yang baru disisipkan, Anda perlu melakukan panggilan terpisah ke database.


create()

    create()Sebaliknya, metode ini memungkinkan Anda membuat catatan baru dan menyimpannya ke database dalam satu panggilan. Dibutuhkan array pasangan kunci-nilai seperti metodenya insert(), tetapi ia mengembalikan model yang baru dibuat.

    Metode ini create()j uga secara otomatis menyetel created_at dan updated_at  untuk rekaman yang baru dibuat sedangkan method insert() tidak menyetel ke dua field tersebut. Jadi penggunaan masing-masing dari kedua metode diatas tergantung kebutuhan development di dalam pengembangan program.

    Setelah anda memahami metode yang digunakan untuk menambah data record maka sekarang mari kita mencoba untuk membuat latihannya. Latihan ini masih menjadi latihan lanjutan dari sebelumnya. Jadi pastikan anda sudah mempelajari materi sebelumnya


Langkah menambah data

    Ada beberapa langkah yang dilakukan untuk menambah data ke database. Berikut kami uraikan.

1. Buka file koleksi.blade.php yang sudah kita buat sebelumnya. Disini kita akan menambahkan link untuk tombol tambah pada bagian <tfooter>. Tambahkan scirpt berikut untuk link tersebut:

<tfooter>
    <th>
    <td><a class="btn btn-outline-success" href="/tambah"> + Tambah Data </a></td>
    </th>
</tfooter>    

    Perintah href-"/tambah" merupakan perintah untuk membuka route dan menentukan halaman mana yang akan di eksekusi. jadi kita akan membuat route untuk mengeksekusi perintah diatas.


2. Buka Route =>web.php tambahkan route berikut:

Route::get('/', [KoleksiController::class, 'index']);
Route::get('/tambah', function () {
    return view('tambah-koleksi');
});


    Disini kita tidak akan masuk ke Controller, namun kita akan langsung mengeksekusi perintah di route saja. Sebenarnya jika anda mau anda dapat menulis perintah tersebut di controller.


3. Buka terminal di VsCode dan ketikkan perintah berikut:

       

php artisan make:view tambah-koleksi

        tekan enter

    Perintah di atas digunakan untuk membuat view baru yang bernama tambah-koleksi.blade.php di dalam folde view.


4. Buka struktur projek dan cari folder Resource => view dan buka file tambah-koleksi.blade.php dan ketikkan script berikut:

<!DOCTYPE html>
<html lang="en">

<head>
    <title>CRUD Laravel</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
</head>

<body class="bg-dark">
    <div class="container bg-white p-5 mt-5">
        <h3>Tambah Data Koleksi</h3>
        <hr>
        <form action="/simpan">
            <div class="row mt-3">
                <label class="col-3">Kode</label>
                <div class="col">
                    <input type="number" name="kode" class="form-control">
                </div>
            </div>

            <div class="row mt-3">
                <label class="col-3">Judul</label>
                <div class="col">
                    <input type="text" name="judul" class="form-control">
                </div>
            </div>

            <div class="row mt-3">
                <label class="col-3">Deskripsi</label>
                <div class="col">
                    <textarea name="deskripsi" class="form-control" rows="5"></textarea>
                </div>
            </div>

            <div class="row mt-3">
                <div class="col"></div>
                <div class="col">
                    <button type="submit" class="btn btn-success">Simpan</button>
                </div>
            </div>
        </form>
    </div>
</body>

</html>


    Perintah diatas merupakan desain halaman UI untuk form insert data.  Coba jalankan program anda dengan mengetikkan di terminal perintah berikut:

php artisan serve

    kemudian pada URL  di browser: http://127.0.0.1:8000/.  Tekan tombol tambah yang ada pada bagian bawah desain tabel dan  Berikut hasilnya:



5. Kembali ke file web.php. Kita akan menambahkan jalur baru untuk simpan data. tambahkan route berikut:

Route::get('/', [KoleksiController::class, 'index']);
Route::get('/tambah', function () {
    return view('tambah-koleksi');
});

Route::get('/simpan', [KoleksiController::class, 'simpan']);


6. Buka folder controller dan buka file KoleksiController.php. Tambahkan method berikut:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Koleksi;

class KoleksiController extends Controller
{
    public function index()
    {
        $data = [
            'title' => 'Data Koleksi',
            'koleksi' => Koleksi::all()
        ];
        return view('koleksi', $data);
    }

    public function simpan(Request $req)
    {
        $data = [
            'kode'      => $req->kode,
            'judul'     => $req->judul,
            'deskripsi' => $req->deskripsi,
            'gambar'    => 'komputer.png'
        ];
        Koleksi::create($data);
        return redirect()->to('/');
    }
}


    Gambar yang kita inputkan berupa statis dengan nama komputer.png. Ini dikarenakan kita perlu melakukan tambahan script untuk menambahkan gambar. Metode Insert gambar akan kita bahas pada tutorial yang lain.

    Disini kita menggunakan metode create() karena kita akan menambahkan create_at dan update_at secara otomatis.

    Sekarang kembali jalankan program anda. coba tambah satu data dan apakah data sudah masuk ke database anda? Jika sudah selamat anda berhasil menambahkan data.

    

Post a Comment

0Comments

Post a Comment (0)