Pada tutorial kali ini kita masih menggunakan Laravel versi 6.x, dimana tutorial ini adalah merupakan rangkaian dari tutorial laravel 6x sebelumnya, dan disini kita akan membahas CRUD pada Laravel.
CRUD adalah operasi dari Create, Read, Update, Delete. Akan tetapi pada tutorial kali ini hanya membahas CRUD bagian Read saja, yang berarti kita membaca data dari database dan kita tampilkan pada view nya Laravel.
Tutorial Laravel ini merupakan rangkaian dari tutorial Laravel 6.x sebelumnya, jadi kita akan memanfaatkan database yang pernah kita buat pada tutorial sebelumnya.
Menampilkan Data Dari Database Dengan Laravel
Pertama adalah kita buatkan table pada database, berhubung disini saya akan menampilkan data kontak, maka saya perlu menambahkan satu buah tabel pada database dan saya beri nama “kontaks”, berikut adalah langkah-langkahnya:
Membuat Tabel kontak dan Database Migration
Untuk membuat tabel pada Laravel kita bisa memanfaatkan php artisan dan migrationnya Laravel. Oke sekarang buka jendela Terminal/Command Prompt pada laptop anda, dan langsung saja kita arahkan pada directory project, gunakan perintah change directory (cd) untuk pindah direktori, dan jalankan perintah berikut:
php artisan make:model Kontak --migration
Kode diatas akan menciptakan sebuah file Model “Kontak.php” pada folder “App”, dan file kontak migrations pada folder “database/migrations”, seperti pada gambar berikut:
Selanjutnya kita buka file database migrations kontak pada folder “database/migrations”, kemudian pada bagian up() kita ketikkan kode seperti berikut:
public function up()
{
Schema::create('kontaks', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('nama_lengkap');
$table->string('email');
$table->string('pekerjaan');
$table->string('alamat');
$table->timestamps();
});
}
Sehingga secara lengkap file nya akan seperti berikut:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateKontaksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('kontaks', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('nama_lengkap');
$table->string('email');
$table->string('pekerjaan');
$table->string('alamat');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('kontaks');
}
}
Kemudian jalankan perintah artisan berikut:
php artisan migrate
Nah sekarang kita telah membuat satu buah tabel dengan nama “kontaks”, jika kita cek pada databse MySQL maka akan tampak seperti berikut:
Karena disini kita membahas menampilkan data dari database dengan Laravel, maka kita perlu satu atau dua record data, maka isikan dulu tabel “kontaks” dengan beberapa data.
Membuat Controller Kontak
Setelah membuat model dan migration di database dan menambahkan data record pada tabel kotaks, maka tahap selanjutnya adalah kita buatkan Controller untuk menampilkan data, jalankan perintah artisan berikut untuk membuat Controller:
php artisan make:controller KontakController --resource
Nah perintah diatas jika dijalankan akan membuat satu buah file Controller dengan nama “KontakController.php” pada folder “app/Http/Controllers/KontakController.php”, oke kita buka file Controller nya dan ketikkan kode berikut pada method index.
public function index()
{
$data = array();
$data['kontak'] = DB::table('kontaks')->get();
return view('kontak.index',$data);
}
Menambahkan Routing
Selanjutnya kita tambahkan routing, buka file web.php pada folder “routes/web.php” dan tambahkan routing seperti berikut:
Route::resource('kontak', 'KontakController');
Sehingga secara lengkap file web.php pada folder “routes/web.php” akan tampak seperti berikut.
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('kontak', 'KontakController');
Membuat File View Kontak
Setelah menambahkan routing, maka langkah selanjutnya adalah membuat file view yang akan kita gunakan untuk menampilkan data. Oke, gunakan perintah change directory (cd) dan arahkan project kerja ke folder views dengan perintah berikut:
cd resources/views
Kemudian kita buatkan folder kontak dengan perintah berikut:
mkdir kontak
Kemudian gunakan perintah change directory (cd) dan arahkan project kerja ke folder views/kontak dengan perintah berikut:
cd kontak
Selanjutnya kita buatkan file view dengan nama “index.blade.php” dengan perintah berikut:
touch kontak index.blade.php
Oke, mari kita buka file view pada folder “kontak/index.blade.php” dan ketikkan kode seperti berikut:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Daftar Kontak</div>
<div class="card-body">
<table id="tbl_list" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>No</th>
<th>Nama Lengkap</th>
<th>Email</th>
<th>Pekerjaan</th>
<th>Alamat</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@php
$no=1;
@endphp
@foreach($kontak as $row)
<tr>
<td>@php $no++; @endphp</td>
<td>{{$row->nama_lengkap}}</td>
<td>{{$row->email}}</td>
<td>{{$row->pekerjaan}}</td>
<td>{{$row->alamat}}</td>
<td>
<a href="" class="btn btn-sm btn-success">Edit</a>
<a href="" class="btn btn-sm btn-danger">Hapus</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endsection
Menambahkan Menu Kontak Pada Halaman Dashboard
Setelah semua langkah diatas dilalui, maka langkah selanjutnya adalah kita tambahkan satu buah menu pada halaman dashboard dengan nama “Kontak”. Kemudian buka browser anda dan jalankan project Laravel yang kita kerjakan, dengan mengkases url berikut:
localhost/laravel6x/public/kontak
Atau bisa juga jalakan file project anda dengan melalui jendela Terminal/Command Prompt, dan jalankan perintah artisan berikut:
php artisan serve
Kemudian buka browser, dan jalankan alamat berikut:
localhost:8000/kontak
Jika berjalan dengan baik maka akan tampil halaman seperti berikut:
Nah demikian adalah cara CRUD sederhana menampilkan data dari database dengan Laravel ke dalam view. Semoga tutorial ini dapat membantu dan memberi manfaat. Terimakasih…
Selesai.