Eloquent ORM (Object Relation Maping) adalah fitur yang sangat saya suka , dengan Eloquent kita bisa dengan mudah Menjalankan Query – query Database.
Berikut adalah contoh menggunakan Eloquent Laravel. Kita buat 3 table relasi dengan mengunakan fitur Eloquent dengan Relasi One To One
Langkah pertama buat dulu table-table nya.
Isi Model Barang
Disini kenapa harus menggunakan perintah
Saya tambahkan kasus dengan menggunakan One to Many pada class Beli.
Isi Model JenisBarang
Isi Model SatuanBarang
Langkah Ketiga membuat controller Barang
Mencari data barang dengan id = 1
Langkah Keempat kita buat view nya, buat folder barang pada view dan file index.blade.php. Berikut isi dari file index.blade.php
Langkah kelima buat routes nya, agar controller barang dapat di panggil.
Terakhir kita tampilkan hasilnya :
mudah bukan.
Semoga bermanfaat.
Langkah pertama buat dulu table-table nya.
- Table Barang
- id
- kode
- nama
- satuan_id
- jenis_id
- harga_beli
- harga_jual
- Table Jenis Barang
- id
- jenis_barang
- Table Satuan
- id
- satuan
kedua buat model dengan mengunakan artisan
php artisan make:model Barang
php artisan make:model JenisBarang
php artisan make:model SatuanBarang
Isi Model Barang
namespace App; use Illuminate\Database\Eloquent\Model; class Barang extends Model { protected $table = 'barang'; public function Jenis(){ //one to one table return $this->hasOne('App\JenisBarang','id'); } public function Satuan(){ //one to one table return $this->hasOne('App\SatuanBarang','id'); } public function Beli(){ //one to many table return $this->hasMany('App\BeliDetail','barang_id'); } }
Disini kenapa harus menggunakan perintah
protected $tablekarena nama table yang kita miliki tidak singular, contoh : barangs.
Saya tambahkan kasus dengan menggunakan One to Many pada class Beli.
Isi Model JenisBarang
namespace App; use Illuminate\Database\Eloquent\Model; class JenisBarang extends Model { protected $table = 'jenis_barang'; }
Isi Model SatuanBarang
namespace App; use Illuminate\Database\Eloquent\Model; class SatuanBarang extends Model { protected $table = 'satuan'; }
Langkah Ketiga membuat controller Barang
php artisan make:controller BarangControllerBerikut adalah isi BarangController.php
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Barang; class BarangController extends Controller { public function index(){ $title = 'Data Barang'; $data = Barang::find(1); return view('barang.index')->with(compact('title','data')); } }
Mencari data barang dengan id = 1
Langkah Keempat kita buat view nya, buat folder barang pada view dan file index.blade.php. Berikut isi dari file index.blade.php
@extends('layouts.main') @section('content') <table class="table table-hover"> <tbody> <tr> <td class="col-md-2">Kode Barang</td> <td width="10">:</td> <td>{{$data->kode}}</td> </tr> <tr> <td class="col-md-2">Nama Barang</td> <td width="10">:</td> <td>{{$data->nama}}</td> </tr> <tr> <td class="col-md-2">Satuan</td> <td width="10">:</td> <td>{{$data->Satuan->satuan}}</td> </tr> <tr> <td class="col-md-2">Jenis</td> <td width="10">:</td> <td>{{$data->Jenis->jenis_barang}}</td> </tr> <tr> <td class="col-md-2">Harga Beli</td> <td width="10">:</td> <td>{{number_format($data->harga_beli)}}</td> </tr> <tr> <td class="col-md-2">Harga Jual</td> <td width="10">:</td> <td>{{number_format($data->harga_jual)}}</td> </tr> </tbody> </table> Detail Pembelian <table class="table table-hover table-bordered"> <thead> <tr> <th>No</th> <th>Tanggal</th> <th>Qty</th> <th>Harga</th> </tr> </thead> <tbody> <?php $no=1;?> @foreach($data->Beli as $row) <tr> <td>{{$no++}}</td> <td>{{$row->insert_date}}</td> <td>{{$row->qty}}</td> <td>{{number_format($row->harga_beli)}}</td> </tr> @endforeach </tbody> </table> @endsection
Langkah kelima buat routes nya, agar controller barang dapat di panggil.
Route::resource('barang','BarangController');
Terakhir kita tampilkan hasilnya :
mudah bukan.
Semoga bermanfaat.
bisa minta databasenya kah ? saya bingung
BalasHapus