Read     Belajar dasar MVC ( Model, View, dan Controller ) pada Framework Laravel

Belajar dasar MVC ( Model, View, dan Controller ) pada Framework Laravel

Haloo sob! Yang akan saya jelaskan sekarang tentang View, Model dan juga Controller Laravel 5.2, loh kan sebelumnya saya sudah menjelaskan mengenai model, view, dkk? Yap, tapi kita mempelajari Model, View Dan Controller itu terpisah dan masih kita praktekkan di routes.php.

Sekarang akan kita praktekkan langsung ke Controller juga Blade Template nya Laravel dan coba mengulas kembali yang sudah kita pelajari. Yuk ah langsung saja pertama – tama Jalankan dulu command line php artisan serve nya pada CMD, dan perlu diingat membuka CMD nya harus pada Folder Laravel yg sedang sobat jalankan.

Cara 1 :

  • Masuk ke folder Laravel yang sedang sobat kerjakan, klik kanan, pilih Use Composer Here.

Cara 2 :

  • Tahan SHIFT dan klik kanan dimana saja halaman kosong, pilih Open Command Window Here.

Cara 1 dan 2 Sama saja hasilnya, hanya saja cara 1 Jika kita saat install Composer dengan men centang Shell Menus, dan cara 2 bagi yang tidak centang Shell Menus nya.  

Buka pada Browser http://localhost:8000/, Lalu kita buat url blog di routes.php :

Route::get('/blog', 'BlogController@index');

Sudah membuat url nya, kita buat lagi BlogController nya pake artisan ya biar cepet. Ingat command line nya gimana? Lupa? Gini script nya :

php artisan make:controller BlogController --resource

Isi script dibawah ini pada BlogController metode index sesuai yang akan kita panggil pada routes.php tadi :

public function index()
{
    return view('blog');
}

Kita buat lagi View untuk blog nya tapi kita masih menggunakan template yang sebelumnya jadi kita hanya membuat untuk konten nya saja.

Pada resources/views beri nama blog.blade.php, silahkan isi seperti ini :


@extends('templates.index')
@section('content')
Ini halaman Blog
@stop

Dan coba kita panggil url blog nya. Hasilnya :

model view controller pada Laravel 5.2

Oke ternyata udah jalan, karena sebelumnya kita sudah membuat model nya jadi kita praktekkan untuk menampilkan data nya langsung. Kembali ke BlogController metode index, silahkan ikuti script nya :

public function index()
{
    $blogs = Blog::all();
    return view('blog', compact('blogs'));
}

Jangan lupa lagi menambahkan use App\Blog; diatas class nya contoh nya :

use app\Blog; Laravel

Balik lagi ke blog.blade.php, kita tampilkan data nya :

@extends('templates.index')
@section('content')

@if(count($blogs))
	<ul>
		@foreach($blogs as $blog)
			<li>Judul : {{ $blog->judul }}</li>
		@endforeach
	</ul>
	@else
	<p>Post tidak ada.</p>
@endif

@stop

Hasilnya :

tampilkan data dari database laravel

Yap, data saya hanya satu. Sekarang coba sobat tambahkan beberapa dulu manual di table Blogs nya.

phpmyadmin laravel 5.2

Sekarang saya mempunyai 3 data. Kita mau menampilkan data tertentu berdasarkan ID nya saja, caranya coba sobat ke routes.php dulu dan tambahkan :

Route::get('/blog/{id}', 'BlogController@tampilkanID');

Lalu ke BlogController, buat metode baru dengan nama sesuai di routes.php yaitu tampilkanID. Isinya seperti ini :

public function tampilkanID($id)
{
    $tampilkan = Blog::find($id);
    return view('tampilkan', compact('tampilkan'));
}

Ket :

  • Pada metode tampilkanID diberi parameter $id untuk ngedapetin ID nya dari route.
  • Blog::find($id); seperti yang sudah dijelaskan sebelumnya, table blog mencari dan menampilkan sesuai dengan ID yang dicari.

Lalu kita buat lagi view baru, diberi nama tampilkan.blade.php pada folder resources/views. Ikuti script nya seperti dibawah ini :

@extends('templates.index')
@section('content')

<h4>Lihat Data</h4>
ID nya : {{$tampilkan->id}}, <br/>
Judul nya : {{$tampilkan->judul}}, <br/>
Dibuat : {{$tampilkan->created_at}}, <br/>
Diedit : {{$tampilkan->updated_at}}

@stop

Jadi untuk menampilkan data berdasarkan ID nya kita tinggal tuliskan manual di url nya http://localhost:8000/blog/1 , maka hasilnya :

tampilkan berdasarkan Id laravel

Kita coba lagi untuk memanggil dengan nomor ID 3 :

hasil pemanggilan iid route laravel

Yap, yang tampil sesuai dengan ID yang kita panggil. Lalu kita menampilkan data berdasarkan ID tapi tidak menuliskan nya dengan manual di url, kita mau panggil sebagai link? Gampang kok, sekarang sobat buka lagi blog.blade.php, tambahkan link di list li nya :

@extends('templates.index')
@section('content')

@if(count($blogs))
<h4>List data</h4>
	<ul>
		@foreach($blogs as $blog)
			<li><a href="{{ url('blog',$blog->id) }}">Judul : {{ $blog->judul }}</a></li>
		@endforeach
	</ul>
	@else
	<p>Post tidak ada.</p>
@endif

@stop

Ket :

  • Untuk memanggil Link di Blade kita tinggal menuliskan {{ url('urlyangdiinginkan') }},
  • <a href="{{ url('blog',$blog->id) }}"> </a> maksudnya kita menuju ke url Blog dengan id yang diambil dari list hasil dari perulangan di table blogs.

Hasilnya jika kita panggil url blog, list li nya menjadi link :

memanggil link laravel

Coba kita klik list data ke dua dengan judul Burung kakak tua, hasilnya :

link id l 5.2

Maka data Burung kakak tua yang akan tampil, sesuai dengan link yang kita klik tadi.

Selesai lah sudah pembahasan dasar – dasar kita mengenai si Lara ini, saya sengaja untuk tidak membuat tambah, edit, hapus dengan controller disini karena selanjutnya saya akan membuat CRUD Laravel 5.2 dan mungkin ada dua versi CRUD.

Versi CRUD apa saja nih yang akan saya buat? Ditunggu saja ya sob :D Silahkan pantau terus dan share yaa jika bermanfaat.

Terimakasih.

 

Top