Kali ini kita akan membahas cara menginput data di database lalu menampilkan data tersebut, tutorial ini akan menggunakan mysql sebagai databasenya, sebagai servel lokalnya, kami menggunakan aplikasi xampp.

  1. buka folder laravel atau project di text editor lalu edit file .envDB_DATABASE=your_db_name
    DB_USERNAME=your_mysql_user
    DB_PASSWORD=your_mysql_pw
  2. aktifkan project Anda dengan artisan serve, buat sebuah table di database menggunakan fitur laravel, buka cmd lalu masuk ke direktori laravel atau project Anda, kemudian ketikkan perintah berikut :php artisan make:migration create_pesertas_table

    perintah ini akan membuat file di folder database/migrations, ‘pesertas’ pada perintah di atas akan membuat table dengan nama pesertas, perlu diketahui bahwa pembuatan table di laravel harus dengan format jamak bahasa inggris, sehingga tabel peserta menjadi pesertas buka file tersebut.

  3. buka file migration tersebut di folder database/migrations lalu hapus semuanya, dan copy codingan berikut :<?php

    use Illuminate\Support\Facades\Schema;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;

    class CreatePesertasTable extends Migration
    {
    public function up()
    {
    Schema::create(‘pesertas’, function (Blueprint $table) {
    $table->increments(‘id’);
    $table->string(‘nama’);
    $table->string(‘alamat’);
    $table->timestamps();
    });
    }

    public function down()
    {
    Schema::dropIfExists(‘pesertas’);
    }
    }

  4. kemudian di cmd ketikkan perintah php artisan migrate agar file migration tereksekusi mysql dan akan terbuat sebuah table pesertas di database.
  5. kita akan membuat formnya sesuai dengan postingan sebelumnya http://kedai.or.id/layouting-di-laravel.html .
  6. tambahkan atribut name di tag input,name=”nama” 
    name=”alamat”

    tambahkan @csrf di dalam tag form.
    tambahkan method=”post” dan action=”/input-data” di dalam tag form

  7. Route untuk penginputan datanya belum ada, maka dari itu tambahkan codingan berikut di file web.php pada folder routes untuk membuat route tersebut :Route::post(‘input-data’, ‘HomeController@store’);
  8. Tambahkan kodingan berikut di file HomeController pada function store(), folder app/Http/Controllers :$data = new \App\Peserta;
    $data->nama = $request->nama;
    $data->alamat=$request->alamat;
    $data->save();
    return redirect(‘show-data’);
  9. kodingan di poin sebelumnya akan mengakses Model Peserta, namun Model tersebut belum kita buat, buka cmd lalu ketikkan perintah berikut untuk membuat Model Peserta tersebut :php artisan make:model Peserta
  10. Model Peserta akan berada di folder app dengan nama Peserta.php,
  11. jika selesai, maka menginput sudah bisa di tes, saat selesai menginput akan dialihkan ke url show-data, namun halaman tersebut masih data statik, agar data tersebut di dapatkan dari database, edit codingan berikut di file HomeControlller pada function index menjadi :$data = \App\Peserta::get();

    return view(‘data’, [‘datas’ => $data]);

    ingat, artikel ini merupakan kelanjutan dari http://kedai.or.id/layouting-di-laravel.html, ikuti artikel sebelumnya untuk mendapatkan layout.

  12. lalu buka file data.blade.php di folder resources/views, hapus isinya dan tambahkan codingan berikut :@extends(‘template’)

    @section(‘content’)
    <table class=”table”>
    <thead>
    <tr>
    <th scope=”col”>No</th>
    <th scope=”col”>Nama</th>
    <th scope=”col”>Alamat</th>
    </tr>
    </thead>
    <tbody>
    @php
    $no = 1;
    @endphp

    @foreach($datas as $data)
    <tr>
    <th scope=”row”>{{$no++}}</th>
    <td>{{$data->nama}}</td>
    <td>{{$data->alamat}}}</td>
    </tr>
    @endforeach

    </tbody>
    </table>
    @endsection

  13. Sekarang mengambil data dari database telah selesai, silakan tes dengan cara menginput data, program akan otomatis akan mengalihkan ke halaman show-data dan data akan bertambah.

Sekian untuk tutorial input dan retrieving data di laravel, semoga bermanfaat, Terimakasih.

Leave a Reply

Your email address will not be published. Required fields are marked *