Eloquent ORM (Object Relation Maping) ini fitur dari Laravel yang sangat saya suka, dengan Eloquent kita bisa dengan mudah Menjalankan Query – query Database misal nya Insert, Update, Delete dan Read Data.
Ohya, ini tutorial lanjutan dari sebelumnya ya yang membahas mengenai migration dan schema, karena kita sudah membuat migration nya jadi langsung saja kita tinggal membuat model nya dulu, yaitu untuk membuat model blog. Untuk membuat model, ketikkan pada Cmd seperti ini :
php artisan make:model Blog
Lalu kita lihat pada folder Laravel kita masuk ke folder App
:
Disitu terdapat model kita Blog dan model bawaan Laravel User, karena model user tidak terpakai mendingan dihapus saja. Lalu kita lihat pada Blog.php
, masih kosong seperti ini :
Untuk membuat model, silahkan isi sesuai dengan yang ada di table blogs :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
protected $table = 'blogs';
protected $fillable = ['judul', 'deskripsi'];
}
Ket :
protected $table = 'blogs';
adalah nama table nya.protected $fillable = ['judul', 'deskripsi', 'created_at', 'updated_at'];
isi kolom nya, karenaID
sudah otomatis jadi tidak perlu dibuat.- Lalu
created_at
danupdated_at
nya juga tidak perlu buat karena sudah otomatis juga, tapi jika sobat tidak menggunakancreated
danupdated_at
nya bisa ditambahkan script inipublic $timestamps = false;
pada Model tadi.
Tambah Data
Lalu kita ingin menambahkan data dengan Eloquent ke Table Blogs
melalui route
, script nya gini :
Route::get('/tambah', function()
{
$blog = new Blog;
$blog->judul = "Judul Pertama";
$blog->deskripsi = "Deskripsi nya disini, contoh menambah data pada route.";
$blog->save();
});
Ket :
$blog = new Blog;
$blog
adalah variable nya,new Blog
nama model nya.$blog->judul
pastikan kolom yang dituju sesuai/sama dengan yang ada di tabel nya.$blog->save();
proses data nya untuk disimpan.
Jangan lupa menambahkan use App\Blog;
pada routes.php
, letakkan saja dibawah <?php
.
Jalankan url route /tambah
nya pada browser. Jika sudah, coba sobat cek pada table blogs
di phpmyadmin nya :
Hasilnya blank putih saja karena tidak kita masukkan apa-apa tapi data sudah masuk. created_at
dan updated_at
nya pun sudah terisi otomatis, pada Eloquent kita tidak perlu lagi Insert Into blabla. Cukup mudah kan? :D
Update Data
Sekarang kita lakukan update data yang sudah kita masukkan tadi, jadi kita tambahkan lagi pada route
nya seperti ini :
Route::get('/update', function()
{
$blog = Blog::find(1);
$blog->judul = "Judul Diedit";
$blog->deskripsi = "Deskripsi juga sudah di Edit";
$blog->save();
});
Ket :
$blog = Blog::find(1);
Artinya Menjalankan / Mengubah data blog yangid
nya1
.
Panggil url nya, dan cek ke database, data berhasil dirubah :
Menampilkan Data
Setelah Coba di simpan dan diedit, sekarang coba kita tampilkan data nya menggunakan Eloquent :
Route::get('/tampil', function()
{
$blogs = Blog::all();
echo "<ul>";
foreach($blogs as $blog)
{
echo "<li>";
echo "<b>Judul nya</b> : ";
echo $blog->judul;
echo " <b>Deskripsi nya</b> : ";
echo $blog->deskripsi;
echo "</li>";
}
echo "</ul>";
});
Pastekan di routes.php
ya,
Hasilnya :
Ket :
$blogs = Blog::all();
fungsi nya menampilkan semua data di tableblogs
.
Hapus Data
Contoh terakhir kita menghapus data, pastekan pada routes.php
:
Route::get('/hapus', function()
{
$blog = Blog::find(1);
$blog->delete();
});
Seperti biasa, panggil url nya dan jika sudah lihat ke database apabila data sudah tidak ada berarti udah berhasil kehapus dong :v
Yap, selesai sudah. Singkat saja tutorial Eloquent dasar kali ini, yah namanya juga dasar jadi kita belajar dasar – dasar nya dulu sebelum lanjut ke CRUD nya, nanti saya pasti buat kok.
Tutorial selanjutnya masih saya pikirkan untuk membuat tentang apa :D yang penting terus di Pantau ya sob, Share yaaa.
Terimakasih.