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 $table
karena 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 BarangController
Berikut 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