CRUD Laravel PostgreSQL
Membangun aplikasi CRUD menggunakan Laravel dengan database PostgreSQL menggunakan arsitektur MVC
1. Konfigurasi Database PostgreSQL
Langkah pertama dalam membuat aplikasi CRUD adalah menghubungkan Laravel dengan database PostgreSQL. Laravel menyediakan driver PostgreSQL yang dapat langsung digunakan dengan mengubah konfigurasi pada file .env.
File .env
DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=crud_laravel DB_USERNAME=postgres DB_PASSWORD=postgres
Pastikan extension PHP aktif: pdo_pgsql dan pgsql
2. Membuat Model dan Migration
Model digunakan untuk berinteraksi dengan database. Migration digunakan untuk membuat struktur tabel secara terstruktur menggunakan kode PHP. Laravel memungkinkan pembuatan Model dan Migration sekaligus.
php artisan make:model Mahasiswa -m
Edit migration
Schema::create(‘mahasiswa’, function (Blueprint $table) { $table->id(); $table->string(‘nama’); $table->string(‘nim’); $table->string(‘jurusan’); $table->timestamps(); });
Field yang dibuat:
  • id → primary key
  • nama → nama mahasiswa
  • nim → nomor induk mahasiswa
  • jurusan → program studi
  • timestamps → created_at dan updated_at
Jalankan migration
php artisan migrate
3. Konfigurasi Model
Model digunakan sebagai penghubung antara controller dan database. Properti fillable digunakan untuk menentukan field yang boleh diisi secara mass assignment.
app/Models/Mahasiswa.php
protected $table = ‘mahasiswa’; protected $fillable = [ ‘nama’, ‘nim’, ‘jurusan’ ];
4. Membuat Controller Resource
Controller digunakan untuk mengatur logika aplikasi. Resource controller akan otomatis membuat method CRUD.
php artisan make:controller MahasiswaController –resource
Method yang dibuat:
index() create() store() show() edit() update() destroy()
5. Routing CRUD
Routing digunakan untuk menghubungkan URL dengan controller. Route resource otomatis membuat semua route CRUD.
routes/web.php
use App\Http\Controllers\MahasiswaController; Route::resource(‘mahasiswa’, MahasiswaController::class);
6. Menampilkan Data (Read)
Method index digunakan untuk mengambil semua data dari database dan mengirimkannya ke view.
public function index() { $data = Mahasiswa::all(); return view(‘mahasiswa.index’,compact(‘data’)); }
7. Form Tambah Data (Create)
Method create digunakan untuk menampilkan form input data mahasiswa.
public function create() { return view(‘mahasiswa.create’); }
View create
<form method=”POST” action=”/mahasiswa”> @csrf <input name=”nama”> <input name=”nim”> <input name=”jurusan”> <button>Simpan</button> </form>
8. Menyimpan Data (Store)
Method store digunakan untuk menyimpan data dari form ke database menggunakan model.
public function store(Request $request) { Mahasiswa::create($request->all()); return redirect(‘/mahasiswa’); }
9. Edit Data
Method edit digunakan untuk mengambil data berdasarkan id dan menampilkannya pada form edit.
public function edit($id) { $data = Mahasiswa::find($id); return view(‘mahasiswa.edit’,compact(‘data’)); }
View edit
<form method=”POST” action=”/mahasiswa/{{$data->id}}”> @csrf @method(‘PUT’) <input name=”nama” value=”{{$data->nama}}”> <input name=”nim” value=”{{$data->nim}}”> <input name=”jurusan” value=”{{$data->jurusan}}”> <button&gtUpdate</button> </form&gt
10. Update Data
Method update digunakan untuk memperbarui data mahasiswa yang telah diedit.
public function update(Request $request,$id) { $data = Mahasiswa::find($id); $data->update($request->all()); return redirect(‘/mahasiswa’); }
11. Hapus Data
Method destroy digunakan untuk menghapus data berdasarkan id.
public function destroy($id) { $data = Mahasiswa::find($id); $data->delete(); return redirect(‘/mahasiswa’); }
Mahasiswa telah memahami:
  • Koneksi PostgreSQL Laravel
  • Migration
  • Model
  • Controller
  • Routing Resource
  • CRUD Laravel