Gambar 2 : Composer
Pada contoh berikutnya, kita akan mencoba membuat route baru dengan
menampilkan halaman view.
Tambahkan route baru untuk halaman “profil” dengan menambahkan script
berikut:
Route::get
Route:: get(
('profil'
'profil',, function () {
return view
view(
('profil'
'profil');
);
});
<h1>Profil Saya</h1>
<p>Perkenalkan Nama saya Sugono Galih, saya seorang praktisi dibidang
kreatif digital sejak tahun 2008 di Bandar Lampung, Indonesia. </p>
<p>Saya memiliki pengalaman bekerja dibidang Web Development dan
Digital Marketing dan saat ini aktif mengajar untuk berbagi pengalaman di
beberapa program
pro gram kursus, workshop
w orkshop dan pelatihan.
p elatihan. </p>
</body>
</html>
logika dan data-data yang harus diolah terlebih dahulu. Caranya adalah
dengan menggunakan Controller.
Ada dua cara yang dapat digunakan untuk membuat Controller. Cara
pertama, dengan membuat file controller secara manual dan tuliskan code
untuk extends controller secara manual. Cara kedua, adalah dengan membuat
file Controller lewat Artisan di Laravel.
Kita gunakan cara yang kedua, pada latihan kali ini kita akan membuat
Controller dengan nama CobaController dengan menuliskan di command
prompt / terminal :
php artisan make:controller CobaController
Maka akan terbentuk sebuah file dengan nama CobaController.php pada
folder laravelapp\app\Http\Controllers\
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
Pada contoh kali ini, Kita coba untuk memberikan data array kepada view.
Tambahkan variabel data array pada BiodataController.php
<?php
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
blade
Gambar 11 : Nama file bla de yang disimpan
Ketikkan script berikut pada file header.blade.php
<!DOCTYPE html>
<html lang
lang=="en">
<head>
<meta charset
charset=="utf-8" >
<meta name
name=="viewport" content ="width=device-width, initial-scale=1,
content=
shrink-to-fit=no" >
<meta name
name=="description" content ="">
content=
<meta name
name=="author" content=
content="">
<title>@yield('title') </title>
rel="stylesheet" >
rel=
<!-- Custom styles -->
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
13
<link href
href=="{{ asset('assets/css/style.css') }}" rel=
rel="stylesheet" >
</head>
<body>
@section('intro-header')
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
14
@section('main')
<!-- Main -->
class="main" >
<section class=
class="container" >
<div class=
class="row">
<div class=
class="col-lg-8 mx-auto">
<div class=
<h2>Halaman Home</h2>
class="lead" >Lorem ipsum dolor sit amet, consectetur
<p class=
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
adipisicing
magna aliqua.
aliqua . Ut enim ad minim
m inim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit
pariatur. in voluptate
Ex cepteur
Excepteur velit esse
sint occaecat
o ccaecat cillum
cupidatat
cupid dolore
atat non eu fugiat
proident,
pro ident, sunt nulla
in culpa
qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</section>
<!-- END : Main -->
@endsection
@section('intro-header')
<!-- Header -->
<header class
class=="intro-header text-white" style="background: url('{{
style=
asset
@section('main')
<!-- Main -->
class="main" >
<section class=
<div class="container" >
class=
<div
<div ="row"
class=
class >
="col-lg-8
class=
class mx-auto">
<h2>Halaman Tentang Kami</h2>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
15
@section('intro-header')
<!-- Header -->
<header class
class=="intro-header text-white" style="background: url('{{
style=
asset
@section('main')
<!-- Main -->
class="main" >
<section class=
<div class="container" >
class=
class="row">
<div class=
class="col-lg-8 mx-auto">
<div class=
<h2>Kontak Kami</h2>
class="lead" >Lorem ipsum dolor sit amet, consectetur
<p class=
adipisicing
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.
aliqua . Ut enim ad minim
m inim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur
Ex cepteur sint occaecat
o ccaecat cupidatat
cupid atat non proident,
pro ident, sunt in culpa
qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</section>
<!-- END : Main -->
@endsection
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
16
Untuk melihat hasil dari template yang telah kita buat, buka halaman
http://localhost:8000/blog pada browser, maka akan tampil seperti gambar
di bawah ini:
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
use Illuminate\Support\Facades\DB
Illuminate\Support\Facades\DB;
;
return view
view(('member.index'
'member.index',, ['member' => $member]);
$member ]);
}
$member = DB
DB::
::table
table(
('member'
'member'))
->
->where
->where(('nama'
'nama',
->paginate (); , 'LIKE',
paginate(); 'LIKE' , "%"
"%"..$cari
$cari.."%"
"%"))
return view
view(('member.index'
'member.index',, ['member' => $member]);
$member ]);
}
DB::
DB::table
table(
('member'
'member')->
)->insert
insert([
([
'nama' => $request
$request->
->nama
nama,,
'pekerjaan' => $request->
$request ->pekerjaan
pekerjaan,
,
'umur' => $request
$request->
->umur
umur,,
'alamat' => $request->
$request ->alamat
alamat
]);
return redirect
redirect(('/member'
'/member');
);
}
} return view
view(('member.edit'
'member.edit',
, ['member'
'member'=>
=> $member]);
$member ]);
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
20
return redirect
redirect(('/member'
'/member');
);
}
return redirect
redirect(('/member'
'/member');
);
}
}
<form action
action=="/member/cari" mehod="GET" class
class=="form-
inline">
class="form-control" type=
<input class= type="text" name
name=="cari"
placeholder ="Cari Member" value
placeholder= ="{{ old('cari') }}">
value=
class="btn btn-primary ml-3" type
<input class= type=="submit"
value="CARI" >
value=
</form>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
21
<br>
href="/member/tambah" class
<a href= ="btn btn-primary">+ Tambah
class=
Member Baru </a>
<br>
<br>
class="table table-bordered table-striped">
<table class=
<tr>
<th>Nama</th>
<th>Pekerjaan </th>
<th>Umur</th>
<th>Alamat </th>
<th>Opsi</th>
</tr>
@foreach($member as $m)
<tr>
<td>{{ $m->nama }}</td>
<td>{{ $m->pekerjaan }}</td>
<td>{{ $m->umur }}</td>
<td>{{ $m->alamat }}</td>
<td>
class="btn btn-warning"
<a class=
href="/member/ed
href="/member/edit/{{
it/{{ $m->id }}">Edit</a>
class="btn btn-danger"
<a class=
href="/member/hapus/{{ $m->id }}">Hapus</a>
href=
</td>
</tr>
@endforeach
</table>
<br>
Halaman : {{ $member->currentPage() }} <br>
Jumlah Data : {{ $member->total() }} <br>
Data per Halaman : {{ $member->perPage()
$member->perPage() }}<br>
<br>
{{ $member->links() }}
</div>
</div>
</div>
</body>
</html>
(tambah.blade.php))
Halaman Form Tambah Data (tambah.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Form Data Member</title>
<link rel
rel=="stylesheet" href=
href="{{ asset('/css/app.css') }}">
<style>
body {
margin-top: 15px;
1 5px;
}
</style>
</head>
<body>
<div class="container" >
class=
class="row">
<div class=
<div class="col-md-12" >
class=
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
22
<div class
class=="card">
<div class
class=="card-body">
<h3>Tambah Data Member</h3>
href="/member" class
<a href= ="btn btn-
class=
primary" >Kembali</a>
<br>
<br>
@if(count($errors) > 0)
class="alert alert-dange
<div class= alert-danger"
r">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action
action=="/member/store" method=
method ="post">
{{ csrf_field() }}
class="form-group" >
<div class=
<label>Nama</label>
class="form-control" type
<input class= type=="text"
name="nama" >
name=
</div>
class="form-group" >
<div class=
<label>Pekerjaan </label>
class="form-control" type
<input class= type=="text"
name="pekerjaan">
name=
</div>
class="form-group" >
<div class=
<label>Umur</label>
class="form-control" type
<input class= type=="text"
name="umur" >
name=
</div>
class="form-group" >
<div class=
<label>Alamat </label>
<textarea class
class=="form-control"
name="alamat" ></textarea>
name=
</div>
class="form-group" >
<div class=
class="btn btn-primary"
<input class=
type="submit" value
type= ="Simpan" >
value=
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
23
bodymargin-top:
{ 1 5px;
15px;
}
</style>
</head>
<body>
<div class="container">
class=
<div class
class=="row">
class="col-md-12" >
<div class=
<div class
class=="card">
<div class ="card-body" >
class=
<h3>Edit Member</h3>
href="/member" class
<a href= ="btn btn-primary">Kembali </a>
class=
<br>
<br>
{{-- menampilkan error validasi --}}
@if(count($errors) > 0)
<div class="alert alert-dange
class= alert-danger"
r">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@foreach($member
@foreach($member as $m)
<form action
action=="/member/update" method
method=="post" >
{{ csrf_field() }}
type="hidden" name=
<input type= name="id" value=
value="{{ $m-
>id }}">
class="form-group"
class=
<div<label> Nama</label> >
type="text" class=
<input type= class="form-control"
name="nama" required=
name= required ="required" value=
value="{{ $m->nama }}">
</div>
class="form-group" >
<div class=
<label>Pekerjaan </label>
type="text" class=
<input type= class="form-control"
name="pekerjaan" required
name= required=="required" value=
value="{{ $m->pekerjaan }}">
</div>
class="form-group" >
<div class=
<label>Umur</label>
type="text" class=
<input type= class="form-control"
name="umur" required=
name= required ="required" value=
value="{{ $m->umur }}">
</div>
class="form-group" >
<div class=
<label>Alamat </label>
<textarea class ="form-control"
class=
name="alamat" required
name= required=="required" >{{ $m->alamat }}</textarea>
</div>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
24
class="form-group" >
<div class=
type="submit" value=
<input type= value="Update"
class="btn btn-primary">
class=
</div>
</form>
@endforeach
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Untuk melihat hasil dari script yang telah kita buat, buka halaman
http://localhost:8000/member pada browser, maka akan tampil seperti
gambar di bawah ini:
Database Migration
Migration merupakan fitur yang ada pada laravel yang berfungsi sebagai
Version Control System untuk database.
Dengan fungsi migration maka semua perubahan yang Kita lakukan database
akan dicatat dalam suatu table tersendiri. Sehingga memudahkan Kita untuk
dapat membatalkan / rollback perubahan pada suatu table apabila terdapat
kesalahan ke kondisi semula.
Langkah pertama, ketikkan perintah artisan berikut ini:
php artisan make:migration create_mahasiswa_table --create=mah
--create=mahasiswa
asiswa
Buka folder laravelapp\database\migrations
laravelapp\database\migrations.. Buka file yang namanya
mengandung create_mahasiswa_table.php.
Ubah script file create_mahasiswa_table tersebut menjadi seperti berikut:
<?php
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('mahasiswa'
'mahasiswa');
);
}
}
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
27
namespace App\Providers
App\Providers;;
use Illuminate\Support\ServiceProvider
Illuminate\Support\ServiceProvider; ;
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot
boot()
()
{
Schema::
Schema ::defaultStringLength
defaultStringLength(
(191
191);
);
}
}
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
28
Menjalankan Migration
Pada command prompt, ketikkan perintah berikut:
php artisan migrate
Maka akan menghasilkan output sebagai berikut:
use Illuminate\Database\Seeder;
Illuminate\Database\Seeder;
use Faker\Factory as Faker
Faker;;
for($i = 1; $i <= 50
50;; $i
$i++){
++){
DB::table
DB::table(
('member'
'member')->
)->insert
insert([
([
Gambar 23 : Tampilan data member setelah menggunakan fungsi seeder dan faker
Latihan CRUD (Create, Read, Update, Delete) pada Laravel engan
Eloquent
Pada latihan kali ini, kita akan memanfaaktan fitur eloquent di laravel untuk
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('pegawai'
'pegawai');
);
}
}
Jalankan migration
Pada command prompt, ketikkan perintah berikut:
php artisan migrate
Maka akan terbentuk satu table baru bernama pegawai
Pada framework yang menganut konsep MVC, salah satu komponen yang
sangat penting adalah model.
Buka command prompt, ketikkan perintah berikut untuk membuat file model
php artisan make:model Pegawai
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
use App\Pegawai
App\Pegawai;
;
// $pegawai = Pegawai::all();
$pegawai = Pegawai
Pegawai::
::paginate
paginate(
(5);
return view
view(('pegawai.index'
'pegawai.index',[
,['pegawai'
'pegawai'=>
=>$pegawai
$pegawai]);
]);
}
Pegawai::create
Pegawai:: create([
([
'nama' => $request
$request->
->nama
nama,
,
'alamat' => $request->
$request ->alamat
alamat
]);
return redirect
redirect(('/pegawai'
'/pegawai');
);
}
$pegawai = Pegawai
Pegawai::
::find
find(
($id
$id);
);
$pegawai->
$pegawai ->nama
nama = $request
$request->
->nama
nama;;
$pegawai->
$pegawai
$pegawai ->alamat
$pegawai-> alamat
->save();= $request->
save(); $request ->alamat
alamat;;
return redirect
redirect(('/pegawai'
'/pegawai');
);
}
return redirect
redirect(('/pegawai'
'/pegawai');
);
}
}
laravelapp\resources\views
Buat script halaman view berikut di dalam folder pegawai.
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
34
shrink-to-fit=no" >
<!-- Bootstrap core CSS -->
<link href
href=="{{ asset('assets/vendor/bootstrap/css/bootstrap.min.css')
}}" rel=
rel="stylesheet" >
<br>
{{ $pegawai->links() }}
</div>
</div>
</div>
src="{{ asset('assets/vendor/jquery/jquery.min.js')
<script src=
}}"></script>
src="{{
<script src=
asset('assets/vendor/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
</body>
</html>
<div class
class=="form-group" >
<label> Alamat </label>
name="alamat" class
<textarea name= class=="form-control"
placeholder ="Alamat Pegawai.."></textarea>
placeholder=
@if($errors->has('alamat'))
<div class
class=="text-danger" >
{{ $errors->first('alamat') }}
</div>
@endif
</div>
</form>
</div>
</div>
</div>
<div class
class=="form-group" >
<label> Alamat </label>
name="alamat" class
<textarea name= class=="form-control" >{{ $pegawai-
>alamat }}</textarea>
@if($errors->has('alamat'))
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
37
<div class
class=="text-danger" >
{{ $errors->first('alamat') }}
</div>
@endif
</div>
</form>
</div>
</div>
</div>
Untuk melihat hasil dari script yang telah kita buat, buka halaman
http://localhost:8000/pegawai pada browser, maka akan tampil seperti
gambar di bawah ini:
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('pengguna'
'pengguna');
);
}
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
40
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('telepon'
'telepon');
);
}
}
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
use App\Pengguna
App\Pengguna;
;
class
{ PenggunaController extends Controller
public function index
index()
()
{
// mengambil semua data pengguna
$pengguna = Pengguna
Pengguna::
::all
all();
();
// return data ke view
return view
view(('pengguna.index' , ['pengguna' => $pengguna]);
$pengguna]);
}
}
class="text-cent
<h1 class="text-center
er my-4">Eloquent: One To One
Relationship </h1>
class="table table-bordered table-striped">
<table class=
<thead>
<tr>
<th>Pengguna </th>
<th>Nomor Telepon </th>
</tr>
</thead>
<tbody>
@foreach($pengguna as $p)
<tr>
<td>{{ $p->nama }}</td>
<td>{{ $p->telepon->nomor_telepon }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
44
Untuk melihat hasil dari script yang telah kita buat, buka halaman
http://localhost:8000/pengguna pada browser, maka akan tampil seperti
gambar di bawah ini:
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;
;
{
Schema ::create
Schema:: create(('posts'
'posts',, function (Blueprint $table)
$table ) {
$table
$table->
->bigIncrements
bigIncrements( ('id'
'id');
);
$table->
$table ->string ('judul'
'judul'););
$table->
$table->timestamps
timestamps();
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('posts'
'posts');
);
}
}
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
*
* @return void
*/
public function down
down()
()
{
Schema ::table
Schema:: table(
('tags'
'tags',,function (Blueprint $table)
$table) {
$table->dropForeign
$table-> dropForeign(('tags_post_id_foreign' );
});
Schema::
Schema ::dropIfExists
dropIfExists(('tags'
'tags');
);
}
}
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
use App\Post
App\Post;;
<div<h1
class="card-body"
class=
class=
class > er my-4">Eloquent: One To Many
="text-cent
"text-center
Relationship </h1>
class="table table-bordered table-striped">
<table class=
<thead>
<tr>
<th>Judul Article</th>
<th>Tag</th>
width="15%" class=
<th width= class="text-center">Jumlah
Tag</th>
</tr>
</thead>
<tbody>
@foreach($posts as $post)
<tr>
<td>{{ $post->judul }}</td>
<td>
@foreach($post->tags as $tag)
{{$tag->tag}},
@endforeach
</td>
class="text-center" >{{ $post->tags-
<td class=
>count() }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
50
Untuk melihat hasil dari script yang telah kita buat, buka halaman
http://localhost:8000/posts pada browser, maka akan tampil seperti gambar
di bawah ini:
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
Schema ::create
Schema:: create(('siswa'
'siswa',, function (Blueprint $table)
$table ) {
$table
$table->
->bigIncrements
bigIncrements( ('id'
'id');
);
$table ->string ('nama'
$table-> 'nama'););
$table->
$table ->timestamps
timestamps();
();
});
}
/**
*
* Reverse the migrations.
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('siswa'
'siswa');
);
}
}
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
/**
* Reverse the migrations.
*
*
*/@return void
public function down
down()
()
{
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
52
Schema::
Schema ::dropIfExists
dropIfExists(('hobi'
'hobi');
);
}
}
langkah selanjutnya, kita perlu membuat table ketiga yang berperan sebagai
pivot table. ketikkan perintah pada command prompt
php artisan make:migration create_hobi_siswa_table --create=h
--create=hobi_siswa
obi_siswa
Lanjutkan dengan menulis script pada file yang namanya mengandung
create_hobi_siswa _table.php.
<?php
use Illuminate\Support\Facades\Schema
Illuminate\Support\Facades\Schema;;
use Illuminate\Database\Schema\Blueprint
Illuminate\Database\Schema\Blueprint;
;
use Illuminate\Database\Migrations\Migration
Illuminate\Database\Migrations\Migration;;
class CreateHobiSiswaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function upup()
()
{
Schema::
Schema ::create
create(('hobi_siswa'
'hobi_siswa',, function (Blueprint $table)
$table ) {
$table->bigIncrements
$table-> bigIncrements(
('id'
'id');
);
$table
$table->
->biginteger
biginteger(
('siswa_id'
'siswa_id')->
)->unsigned
unsigned();
();
$table->
$table ->foreign
foreign(
('siswa_id'
'siswa_id'))
->
->references
references(
('id'
'id')->
)->on
on(
('siswa'
'siswa')
)
->onDelete
->
-> onDelete(
->onUpdate (
('cascade'
onUpdate('cascade')
'cascade');
'cascade' )
);
$table
$table->
->biginteger
biginteger(
('hobi_id'
'hobi_id')->
)->unsigned
unsigned();
();
$table->foreign
$table-> foreign(
('hobi_id'
'hobi_id'))
->references
-> references(
('id'
'id')->
)->onon(
('hobi'
'hobi')
)
->
->onDelete
onDelete(
('cascade'
'cascade') )
->onUpdate
-> onUpdate(
('cascade'
'cascade'););
$table->
$table ->timestamps
timestamps();
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down
down()
()
{
Schema::
Schema ::dropIfExists
dropIfExists(('hobi_siswa'
'hobi_siswa');
);
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
53
}
}
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
namespace App
App;;
use Illuminate\Database\Eloquent\Model
Illuminate\Database\Eloquent\Model;;
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
55
namespace App\Http\Controllers
App\Http\Controllers;;
use Illuminate\Http\Request
Illuminate\Http\Request;;
use App\Siswa
App\Siswa;;
use App\Hobi
App\Hobi;;
class="card-body" >
<div class=
class="text-cente
<h1 class="text-center
r my-4">Eloquent: Many To Many
Relationship </h1>
class="table table-bordered table-striped">
<table class=
<thead>
<tr>
<th>Nama Siswa </th>
<th>Hobi</th>
</body>
</html>
indosmartdigital.com | Panduan Praktis Laravel 5 #Fundamental
57
Untuk melihat hasil dari script yang telah kita buat, buka halaman
http://localhost:8000/hobi pada browser, maka akan tampil seperti gambar
di bawah ini:
Setelah muncul tampilan seperti pada gambar 38, itu artinya Laravel sudah
berhasil membuat scaffolding autentikasi. Laravel akan secara otomatis
membuatkan semua file yang diperlukan untuk autentikasi.
Jalankan localhost:8000
Klik Register, maka data user tersimpan dan Kita akan diarahkan ke halaman
Dashboard User
Untuk masuk kembali ke dalam sistem, Kita dapat mengklik menu Login, maka
akan muncul halaman Login User.