Last Updated on May 9, 2022 by
CRUD Laravel adalah salah satu bentuk aplikasi CRUD yang sangat populer belakangan ini. Cara membuat CRUD menggunakan Laravel masih sama dengan cara membuat aplikasi CRUD lainnya. Hanya saja ada sedikit perbedaan pada beberapa detail kodenya.
Oleh karena itu, pada artikel ini, kami akan menjelaskan tentang cara membuat CRUD Laravel dengan mudah. Ini dia penjelasan lengkapnya untuk Anda.
Table of Contents
Tutorial Mudah Membuat CRUD Laravel 9
Dengan menggunakan Laravel 9, Anda bisa dengan mudah menciptakan aplikasi CRUD Anda sendiri. Pada contoh ini, kita akan membuat aplikasi CRUD menggunakan laravel 9. Kami akan mengajak Anda membuat tabel produk dengan nama dan kolom detail menggunakan migrasi laravel 9. Kemudian kita akan membuat file route, controller, view, dan model untuk modul product. Inilah penjelasan lengkapnya.
1. Download Laravel 9
Langkah pertama dalam pembuatan CRUD Laravel 9 adalah download dan menginstal aplikasinya. Buka dan ketik perintah berikut untuk menginstal aplikasi laravel 9 baru ke komputer Anda:
composer create-project --prefer-dist laravel/laravel LaravelCRUD
2. Setup Database App
Seperti biasa, langkah kedua dalam pembuatan CRUD adalah setup database. Siapkan database dengan aplikasi laravel yang Anda unduh/instal. Jadi, Anda perlu menemukan file .env dan mengatur detail database sebagai berikut:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database-name DB_USERNAME=database-user-name DB_PASSWORD=database-password
3. Membuat Company Model dan Migrasi untuk CRUD Laravel
Buka lagi command prompt di komputer Anda lalu jalankan kode di bawah ini. Untuk membuat file model dan migrasi untuk form lihatlah kode di bawah ini.
php artisan make:model Company -m
Setelah itu, buka file create_companies_table.php di dalam direktori LaravelCRUD/database/migrations/. Dan perbarui fungsi up() dengan kode berikut:
public function up() { Schema::create('companies', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email'); $table->string('address'); $table->timestamps(); }); }
Kemudian, buka kembali command prompt dan jalankan perintah berikut untuk membuat tabel ke dalam database:
php artisan migrate
4. Membuat Rute
Kemudian buat rute untuk aplikasi laravel CRUD. Jadi, buka file web.php dari direktori rute aplikasi laravel CRUD. Dan perbarui rute berikut ke file web.php:
use App\Http\Controllers\CompanyCRUDController; Route::resource('companies', CompanyCRUDController::class);
5. Membuat CRUD Controller dengan Menggunakan Artisan Command
Buat controller dengan menggunakan perintah berikut pada prompt perintah untuk membuat file controller:
php artisan make:controller CompanyCRUDController
Setelah itu, kunjungi di app/Http/controllers dan buka file CompanyCRUDController.php. Dan perbarui kode berikut ke dalamnya:
<?php namespace App\Http\Controllers; use App\Models\Company; use Illuminate\Http\Request; class CompanyCRUDController extends Controller { /** * Menampilkan daftar resource. * * @return \Illuminate\Http\Response */ public function index() { $data['companies'] = Company::orderBy('id','desc')->paginate(5); return view('companies.index', $data); } /** * Perlihatkan formulir untuk membuat resource baru. * * @return \Illuminate\Http\Response */ public function create() { return view('companies.create'); } /** * Simpan resource yang baru dibuat di penyimpanan. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'nama' => 'required', 'email' => 'required', 'alamat' => 'required' ]); $company = new Company; $company->name = $request->nama; $company->email = $request->email; $company->address = $request->alamat; $company->save(); return redirect()->route('companies.index') ->with('sukses','Company has been created successfully.'); } /** * Menampilkan resource yang ditentukan. * * @param \App\company $company * @return \Illuminate\Http\Response */ public function show(Company $company) { return view('companies.show',compact('company')); } /** * Tampilkan formulir untuk mengedit resource yang ditentukan. * * @param \App\Company $company * @return \Illuminate\Http\Response */ public function edit(Company $company) { return view('companies.edit',compact('company')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\company $company * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $request->validate([ 'nama' => 'required', 'email' => 'required', 'alamat' => 'required', ]); $company = Company::find($id); $company->nama = $request->nama; $company->email = $request->email; $company->alamat = $request->alamat; $company->simpan(); return redirect()->route('companies.index') ->with('sukses','Company Has Been updated successfully'); } /** * Hapus resource yang ditentukan dari penyimpanan. * * @param \App\Company $company * @return \Illuminate\Http\Response */ public function destroy(Company $company) { $company->delete(); return redirect()->route('companies.index') ->with('sukses','Company has been deleted successfully'); } }
6. Buat Blade Views File
Buat direktori dan beberapa blade views, lihat berikut ini:
- Buat Nama Company Directory
- blade.php
- blade.php
- blade.php
Buat perusahaan nama direktori di dalam direktori resource/views. Perhatikan bahwa, buat index.blade.php, create.blade.php dan edit.blade di dalam direktori perusahaan. Dan perbarui kode berikut ke dalam file berikut:
index.blade.php:
<!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <title>Contoh tutorial CRUD Laravel 9</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" > </head> <body> <div class="container mt-2"> <div class="row"> <div class="col-lg-12 margin-tb"> <div class="pull-left"> <h2> Contoh tutorial CRUD Laravel 9</h2> </div> <div class="pull-right mb-2"> <a class="btn btn-success" href="{{ route('companies.create') }}"> Create Company</a> </div> </div> </div> @if ($message = Session::get('success')) <div class="alert alert-success"> <p>{{ $message }}</p> </div> @endif <table class="table table-bordered"> <tr> <th>S.No</th> <th>Company Nama</th> <th>Company Email</th> <th>Company Alamat</th> <th width="280px">Action</th> </tr> @foreach ($companies as $company) <tr> <td>{{ $company->id }}</td> <td>{{ $company->nama }}</td> <td>{{ $company->email }}</td> <td>{{ $company->alamat }}</td> <td> <form action="{{ route('companies.destroy',$company->id) }}" method="Post"> <a class="btn btn-primary" href="{{ route('companies.edit',$company->id) }}">Edit</a> @csrf @method('DELETE') <button type="submit" class="btn btn-danger">Delete</button> </form> </td> </tr> @endforeach </table> {!! $companies->links() !!} </body> </html>
create.blade.php:
<!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <title>Tambahkan Company Form – Tutorial CRUD Laravel 9</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" > </head> <body> <div class="container mt-2"> <div class="row"> <div class="col-lg-12 margin-tb"> <div class="pull-left mb-2"> <h2>Add Company</h2> </div> <div class="pull-right"> <a class="btn btn-primary" href="{{ route('companies.index') }}"> Back</a> </div> </div> </div> @if(session('status')) <div class="alert alert-success mb-1 mt-1"> {{ session('status') }} </div> @endif <form action="{{ route('companies.store') }}" method="POST" enctype="multipart/form-data"> @csrf <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Name:</strong> <input type="text" name="nama" class="form-control" placeholder="Company Name"> @error('nama') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Email:</strong> <input type="text" name="email" class="form-control" placeholder="Company Email"> @error('email') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Address:</strong> <input type="text" name="alamat" class="form-control" placeholder="Company Address"> @error('alamat') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <button type="submit" class="btn btn-primary ml-3">Submit</button> </div> </form> </body> </html>
edit.blade.php:
<!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <title>Edit Company Form – Tutorial CRUD Laravel 9 </title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" > </head> <body> <div class="container mt-2"> <div class="row"> <div class="col-lg-12 margin-tb"> <div class="pull-left"> <h2>Edit Company</h2> </div> <div class="pull-right"> <a class="btn btn-primary" href="{{ route('companies.index') }}" enctype="multipart/form-data"> Back</a> </div> </div> </div> @if(session('status')) <div class="alert alert-success mb-1 mt-1"> {{ session('status') }} </div> @endif <form action="{{ route('companies.update',$company->id) }}" method="POST" enctype="multipart/form-data"> @csrf @method('PUT') <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Name:</strong> <input type="text" name="nama" value="{{ $company->name }}" class="form-control" placeholder="Company name"> @error('nama') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Email:</strong> <input type="email" name="email" class="form-control" placeholder="Company Email" value="{{ $company->email }}"> @error('email') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <div class="col-xs-12 col-sm-12 col-md-12"> <div class="form-group"> <strong>Company Address:</strong> <input type="text" name="alamat" value="{{ $company->address }}" class="form-control" placeholder="Company Address"> @error('alamat') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror </div> </div> <button type="submit" class="btn btn-primary ml-3">Submit</button> </div> </form> </div> </body> </html>
Jika Anda mengirimkan formulir tambah atau edit kosong. Jadi error messages akan ditampilkan dengan bantuan kode yang diberikan di bawah ini:
@error('name') <div class="alert alert-danger mt-1 mb-1">{{ $message }}</div> @enderror
7. Jalankan Development Server
Langkah terakhir, buka command prompt dan jalankan perintah berikut untuk memulai server pengembangan:
php artisan serve
Kemudian buka browser Anda dan tekan url berikut di atasnya:
http://127.0.0.1:8000/companies
Itulah tutorial CRUD Laravel 9 atau cara membuat CRUD dengan Laravel 9. Jika Anda tertarik untuk tutorial CRUD lainnya, jangan lupa kunjungi Web App di https://appkey.id/ dan dapatkan berbagai tutorial terbaru seputar pengembangan.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.