Pada sesi belajar Laravel sebelumnya, kita telah mempelajari CRUD tentang cara menampilkan data dari database menggunakan eloquent. Dalam lanjutan belajar laravel bagian ini, kita akan mempelajari CRUD tambah data ke database menggunakan eloquent. Semakin tidak sabar kan? Yuk langsung saja berikut ini langkah-langkahnya.
Perbedaan Query Builder dan Eloquent
Di Laravel, proses CRUD tambah data dapat dilakukan dengan dua metode yaitu query builder dan eloquent. Metode query builder menggunakan pendekatan yang lebih sederhana dan langsung, sehingga cocok untuk Anda yang ingin kontrol penuh atas query SQL.
Sedangkan eloquent menggunakan pendekatan yang lebih efisien dan berorientasi objek, sehingga memudahkan penambahan data dengan sintaks yang lebih rapi dan terstruktur.
Keduanya sama-sama powerful, namun pemilihan metode bisa disesuaikan dengan preferensi dan kompleksitas project Anda. Berikut adalah contoh sederhana insert query SQL dengan dua metode tersebut:
Operasi | Query Builder | Eloquent ORM |
Insert | DB::table(‘users’)->insert([…]) | User::create([…]) |
Contoh | use Illuminate\Support\Facades\DB; DB::table(‘users’)->insert([ ‘name’ => ‘John Doe’, ’email’ => ‘[email protected]’, ‘password’ => bcrypt(‘password123’) ]); | use App\Models\User; User::create([ ‘name’ => ‘John Doe’, ’email’ => ‘[email protected]’, ‘password’ => bcrypt(‘password123’) ]); |
CRUD Tambah Data dengan Eloquent
Pada pembahasan belajar laravel CRUD tambah data, kami akan memberikan contoh bagaimana cara menambah data karyawan dengan metode eloquent secara sederhana. Berikut langkah-langkahnya:
Step 1. Membuat route tambah data karyawan
Di sebelah kiri atas tampilan utama data karyawan, ada tombol “Tambah Karyawan Baru”. Saat di klik maka kita harus membuat dulu routenya.

Silakan tambahkan script berikut di file routes\web.php.
Route::get('/karyawan/tambah', [KaryawanController::class, 'tambah']);
Step 2. Membuat method tambah di controller
Selanjutnya, buat method tambah di file app\Http\Controllers\KaryawanController.php.
// method untuk menampilkan view form tambah karyawan
public function tambah()
{
// memanggil view tambah
return view('karyawan.tambah');
}
Step 3. Buat form tambah data karyawan di view
Lanjut membuat tampilan form tambah data karyawan. Untuk membuatnya, kita lakukan di file resources\views\karyawan\tambah.blade.php.
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data Karyawan</title>
</head>
<body>
<h2>Tambah Data Karyawan</h2>
<!-- Tombol Kembali -->
<p>
<a href="/karyawan">Kembali</a>
</p>
<!-- Form Tambah Data -->
<form action="/karyawan/store" method="post">
{{ csrf_field() }}
<table>
<tr>
<td><label for="nama">Nama</label></td>
<td><input type="text" id="nama" name="nama" required="required"></td>
</tr>
<tr>
<td><label for="jabatan">Jabatan</label></td>
<td><input type="text" id="jabatan" name="jabatan" required="required"></td>
</tr>
<tr>
<td><label for="umur">Umur</label></td>
<td><input type="number" id="umur" name="umur" required="required"></td>
</tr>
<tr>
<td><label for="alamat">Alamat</label></td>
<td><textarea id="alamat" name="alamat" required="required"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;">
<input type="submit" value="Simpan Data">
</td>
</tr>
</table>
</form>
</body>
</html>
Step 4. Buat Controller karyawan store
Buat Controller karyawan store untuk menangkap inputan dari form tambah karyawan.
// method untuk insert data ke table karyawan
public function store(Request $request)
{
// insert data ke table karyawan menggunakan Eloquent
Karyawan::create([
'karyawan_nama' => $request->nama,
'karyawan_jabatan' => $request->jabatan,
'karyawan_umur' => $request->umur,
'karyawan_alamat' => $request->alamat
]);
// alihkan halaman ke halaman karyawan
return redirect('/karyawan');
}
Step 5. Mass Asignment
Berhubung menggunakan fungsi create(), maka wajib menambahkan perintah berikut pada model Karyawan.php.
protected $fillable = ['karyawan_nama','karyawan_jabatan', 'karyawan_umur', 'karyawan_alamat' ];
Mass Assignment pada Laravel digunakan untuk memfilter kolom mana yang bisa diinput. Untuk kolom yang boleh diinput, masukkan dalam variable $fillable
, sedangkan kolom yang tidak boleh diinput maka diletakkan di variabel $guarded
.
Step 6. Buat route karyawan
Lanjut membuat route store di routes\web.php
. Berikut ini isi filenya.
Route::post('/karyawan/store', [KaryawanController::class, 'store']);
Step 7. Pengujian CRUD tambah data di Laravel
Langkah terakhir, kita bisa melakukan testing untuk menambah data. Silahkan Akses ke URL http://127.0.0.1:8000/karyawan, tak lupa jalankan dulu service Laravelnya dengan perintah:
php artisan serve
Setelah itu, klik tambah karyawan baru kemudian Anda akan diarahkan ke url /tambah atau lengkapnya http://127.0.0.1:8000/karyawan/tambah
Berikut tampilannya:
Dan hasilnya akan tampil seperti data berikut:

Sampai tahap ini, proses penambahan data di Laravel menggunakan CRUD cara Eloquent telah berhasil.
Penutup
Dengan menggunakan metode Eloquent, proses tambah data karyawan di Laravel menjadi lebih sederhana, efisien, dan mudah dipahami, sehingga sangat cocok digunakan baik oleh pemula maupun developer berpengalaman. Selain itu, metode Eloquent sangat cocok digunakan untuk proyek aplikasi berskala kecil hingga menengah karena sintaksnya yang sederhana dan mudah dibaca.
Demikian artikel belajar Laravel bagian 16 tentang cara menambah data dengan CRUD menggunakan Eloquent. Pada series belajar Laravel selanjutnya, kami akan membahas tentang cara edit data karyawan di Laravel menggunakan Eloquent. Jangan sampai ketinggalan ya!