CRUD Laravel 5.7 Part 2 : Menambahkan Data/Record Ke Database (Eloquent)
Menyimpan record dari laravel ke database
Di artikel kali ini, saya akan share tutorial cara tambah data dari laravel ke database. Sebelum melanjutkan, aturlah dulu :
- Koneksi laravel anda.
- setting default value di providers.
Selanjutnya, pada artikel ini saya akan melakukan tambah data mahasiswa. Dan kita akan belajar dari mulai menambah tabel lewat migrasi dll. Mungkin basa basinya dicukupkan sekian saja, berikut adalah ulasan selengkapnya.
1. Tambah tabel databse via migrasi
Buat file migration baru untuk tabel_mahasiswa, buka teriminal dan arahkan pada folder projek laravel kita.
php artisan make:migration create_mahasiswas_table
setelah itu, cobalah buka file migrasi mahasiswa tersebut di folder database, migrations, lalu buka file create_mahasiswas_table. Kira kira, berikut adalah tampilannya :
tambahkan pada function up nama nama field yang akan kita gunakan, pada contoh ini, saya coba buat field nama,jurusan dan alamat saja. Coba anda replace fungsi up menjadi sebagai berikut.
public function up(){Schema::create('mahasiswas', function (Blueprint $table) {$table->increments('id');$table->string('nama');$table->string('jurusan');$table->text('alamat');$table->timestamps();});}
jika anda belum setting default value dari string, anda bisa buka folder app->http->providers. Lalu buka file AppServiceProvider.php.
Tambahkan library dibawah use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
kemudian tambahkan kode dibawah ini pada fungsi boot
Schema::defaultStringLength(150);
Berikut adalah tampilan setalah setting default value string :
langkah selanjutnya adalah migrasi, untuk menambahkan tabel baru ke database kita. Cukup masukan perintah dibawah ini pada terminal/cmd.
php artisan migrate
jika muncul seperti pada gambar diatas, selamat. Kita berhasil membuat tabel baru pada database. Untuk lebih meyakinkan, anda bisa mengeceknya di phpmyadmin.
2. Buat model mahasiswa
langkah selanjutnya, kita akan membuat sebuah model dengan nama mahasiswa. Untuk membuatnya, masukkan perintah berikut pada terimnal/cmd.
php artisan make:model mahasiswa
jika sudah, tekan enter dan sistem akan otomatis generate file model baru dengan nama mahasiswa.
buka file model mahasiswa yang berada di folder app. Kemudian pilih file mahasiswa.php
tambahkan perintah berikut pada class mahasiswa. (Ingat,, sesuaikan dengan field di tabel mahasiswa, kecuali id yang sudah bersifat increment), setelah itu tinggal save.
protected $fillable = ['nama', 'jurusan', 'alamat', ];
maka, secara keseluruhan tampilan halaman model sebagai berikut :
3. Buat File View Baru Untuk Membuat Form Input
Buka folder resources->view kemudian tambahkan file baru bernama inputdata.blade.php
Generate html saja, sebagai berikut :
<!DOCTYPE html><html><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Tambah Data</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" media="screen" href="main.css" /><script src="main.js"></script></head><body><form action="{{ route('tambahdata')}}" method="POST">@csrf<input type="text" name="nama" id="nama" placeholder="Masukan Nama"><input type="text" name="jurusan" id="jurusan" placeholder="Masukan Jurusan"><input type="text" name="alamat" id="alamat" placeholder="Masukan Alamat"><input type="submit"></form></body></html>
pastinya akan error, selanjutnya kita harus menentukan route ‘tambahdata’ dan url untuk mengakses halaman input tadi di dalam web.php
//menampilkan halaman input ketika anda mengakses localhost:8000/tambahRoute::get('/tambah', function () {return view('inputdata');});//menerapkan aksi terhadap aktivitas yang diinputkan pada halaman input data menuju controllerRoute::post('/tambahdata', 'crud@tambah')->name('tambahdata');
4. Buat controller dengan nama crud.
caranya sangat mudah, anda tinggal menggunakan php artisan make:controlller. Berikut perintah lengkapnya
php artisan make:controller crud
setelah itu, cek file baru bernama crud.php pada folder app/http/controller lalu buka filenya. Selanjutnya adalah tinggal anda ubah seluruh isi file diatas dengan syntak berikut :
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\User;use App\mahasiswa;
class crud extends Controller{ public function tambah(Request $request){ $tambah = new mahasiswa; $tambah->nama = $request->nama; $tambah->jurusan = $request->jurusan; $tambah->alamat = $request->alamat; $tambah->save(); }}
5. Testing
akses localhost:8000/tambah jika berhasil, akan muncul tampilan sebagai berikut :
selanjutnya, anda coba isi lalu klik submit, maka akan redirect ke localhost:8000/tambahdata. Selanjutnya, anda coba lihat database dan cek apakah data sudah masuk ke dalam database atau tidak. Semoga bermanfaat.
Mohon maaf, jika tutorialnya sangat rancu, tapi sudah lulus uji test yah :v berhubung waktu yang sangat mepet, jadi nulisnya agak rusuh gitu. hehe