Eloquent Laravel Framework
Assalamualaikum WR.WB
Hai! kembali lagi ke blog saya,pada postingan kali ini saya akan memberikan materi Laravel yaitu tentang ELOQUENT.Apa itu Eloquent?
Eloquent adalah fitur untuk
mengelola data yang ada pada database untuk mempermudah user. Eloquent
ORM memiliki beberapa fungsi yaitu :
- Fungsi Active Record
- Fungsi untuk Mengelola Data
Dengan Eloquent ORM,
kita dapat mengelola data dengan mudah dan coda yang singkat. Jadi setiap
tabel, memiliki modelnya masing-masing. Model tersebut berisi format dari sebuah
tabel tersebut, yang dapat mempermudah kita dalam insert, update data. Kita
juga dapat menggunakan relasi antar tabel dengan fitur ini.
Studi Kasus 1 (Implementasikan
pada Tabel Kelas)
Langkah pertama adalah dengan membuat
sebuah model padafolder App.
<?php
namespace
App;
use
Illuminate\Database\Eloquent\Model;
class
Kelas extends Model
{
public $table = 't_kelas';
protected $fillable = [
'nama_kelas','jurusan','lokasi_ruangan','nama_wali_kelas'
];
}
$table digunakan untuk menentukan tabel
yang akan digunakan
$fillable digunakan untuk menentukan
isi field dari sebua tabel
Kemudian, Edit Function Index() :
public
function index()
{
// $data['kelas'] = \DB::table('t_kelas')
// ->orderBy('nama_kelas')
// ->get();
$data['kelas'] =
\App\Kelas::orderBy('nama_kelas')->get();
return view('kelas', $data);
}
Bagian yang dibuat menjadi comment merupakan
codingan DB Facades sebelummnya dan bagian yang diaktifkan merupakan codingan
Eloquent. Dari codingan diatas, apabila pada Eloquent didalam Modelnya
telah didefinisikan table mana yang akan digunakan, jadi pada function
index() nya kita hanya perlu memanggil file Model yang
terdapat dalam folder App setelah itu kalian dapat menambahkan
codingan database untuk mengurutkan data sesuai yang diinginkan.
Edit kembali Function store()
Edit kembali Function store()
public
function store()
{
$input = $request->all();
// unset($input['_token']);
// $status = \DB::table('t_kelas')->insert($input);
$status = \App\Kelas::create($input);
$input = $request->all();
// unset($input['_token']);
// $status = \DB::table('t_kelas')->insert($input);
$status = \App\Kelas::create($input);
}
Nah, untuk di function store() karena kita telah mendefinisikan table yang akan digunakan, maka pada $status kita perlu menanggil kembali Model yang terdapat dalam folder App, kemudian menjalankan Method create($input)
Jangan lupa edit function update() nya juga
Nah, untuk di function store() karena kita telah mendefinisikan table yang akan digunakan, maka pada $status kita perlu menanggil kembali Model yang terdapat dalam folder App, kemudian menjalankan Method create($input)
Jangan lupa edit function update() nya juga
public
function update()
{
$input = $request->all();
// unset($input['_token']);
// unset($input['_method']);
// $status = \DB::table('t_kelas')->where('id', $id)- >update($input);
$kelas = \App\Kelas::find($id);
$status = $Kelas->update($input);
$input = $request->all();
// unset($input['_token']);
// unset($input['_method']);
// $status = \DB::table('t_kelas')->where('id', $id)- >update($input);
$kelas = \App\Kelas::find($id);
$status = $Kelas->update($input);
}
Nah, untuk di function update() karena kita telah mendefinisikan table yang akan digunakan, maka pada $kelas kita perlu menanggil kembali Model yang terdapat dalam folder App, kemudian menjalankan Method find($id) yang digunakan untuk mengupdate data yang dipilih, setelah akan dikirimkan ke status apakah berhasil atau tidak. Method find($id) ini yang membuatnya beda dari DB Facades.
Yang terakhir edit function destroy()
Nah, untuk di function update() karena kita telah mendefinisikan table yang akan digunakan, maka pada $kelas kita perlu menanggil kembali Model yang terdapat dalam folder App, kemudian menjalankan Method find($id) yang digunakan untuk mengupdate data yang dipilih, setelah akan dikirimkan ke status apakah berhasil atau tidak. Method find($id) ini yang membuatnya beda dari DB Facades.
Yang terakhir edit function destroy()
public
function destroy()
{
$kelas = \App\Kelas::find($id);
$status = $kelas->delete();
// $status = \DB::table('t_kelas')->where('id', $id)->delete();
$kelas = \App\Kelas::find($id);
$status = $kelas->delete();
// $status = \DB::table('t_kelas')->where('id', $id)->delete();
}
Tidak jauh berbeda dengan function update(), hanya saja pada function destroy() status akan menjalanan perintah delete bukan update yang digunakan pada function update() sebelumnya.
Tidak jauh berbeda dengan function update(), hanya saja pada function destroy() status akan menjalanan perintah delete bukan update yang digunakan pada function update() sebelumnya.
Studi Kasus 2 (Buatlah
Table Guru + CRUD)
Nah, untuk membuat tabel guru
dengan Migration kalian dapat melihat postingan sebelumnya
tentang Database Migration. Setela kita membuat Migration dengan Command
Prompt (CMD) jangan lupa untuk mengedit file Migrationnya
dan lakukan Migrate. Tambahkan codingan dibawah ini pada function
up() dan function down() yang ada di dalam file Migrationnya
:
public
function up()
{
Schema::create('t_guru', function (Blueprint $table) {
$table->increments('id');
$table->string('nip', 20);
$table->string('nama_guru', 100);
$table->string('jenis_kelamin', 1);
$table->string('alamat', 100);
$table->timestamps();
});
}
public
function down()
{
Schema::dropIfExists('t_guru');
}
Selain penggunaan Eloquent diatas,
ada pula juga penggunaan Eloquent ORM ( Object Releasing Maping). Eloquent ORM ( Object Releasing Maping) adalah suatu fitur yang memudakan untuk
menggunakan query Insert & Update. Langsung saja kita pelajari
lebih lanjut mengenai ORM ini.
Eloquent ORM Insert Data ;
Eloquent ORM Update Data :
Untuk hasilnya tidak jauh berbeda
dengan yang sebelum - sebelumnya, hanya saja dari segi codingannya berbeda
antara 1 dengan yang lainnya ;
Before
After
Studi Kasus 3 (Perbedaan
DB Facades & Eloquent)
Beriut adalah beberapa perbedaan
antara DB Facades & Eloquent yang dapat saya temukan dalam
codingan yang tela digunakan ;
Eloquent :
- Siswa::all()
-> Menampilkan semua data dalam table
't_siswa'
- Siswa;;create($input)
-> Menambahkkan data kedalam 't_siswa'
- Siswa::find($id)
-> Mencari data dalam table 't_siswa' yang sesuai
- Siswa::delete($id)
-> Menghapus data dalam table 't_siswa' yang sesuai
DB Facades :
- DB::table('t_siswa')->get();
->
Menampilkan semua data dalam table 't_siswa'
- DB::table('t_siswa')->insert($input)
-> Menambahkan data kedalam t_siswa
- DB::table('t_siswa')->where('id',$id)->first();
-> Menampilkan data dalam table 't_siswa' yang sesuai
- DB::table('t_siswa')->where('id',$id)->delete();
-> Menghapus data dalam table 't_siswa' yang sesuai
Demikian yang dapat saya sampaikan,
mohon maaf bila ada kesalahan dalam pengetikan maupun penjelasan. See You Next!
Wassalamu'alaikum Wr. Wb
Komentar
Posting Komentar