Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function index(Request $request, Builder $htmlBuilder)
- {
- if ($request->ajax()) {
- $auth = Auth::id();
- $role = RoleToko::where(['user_id'=>$auth])->first();
- $idtoko = $role->toko_id;
- $menulog = Menu::where(['toko_id'=>$idtoko])->first();
- $stats = BeliLog::with('toko','menu','user')->where('menu_id',$menulog->id);
- return Datatables::of($stats)
- ->addColumn('selesai', function($stat){
- if ($stat->selesai) {
- return "Selesai";
- }
- if ($stat->dibatalkan) {
- return "Dibatalkan";
- }
- return "Pending";
- })->make(true);
- }
- $html = $htmlBuilder
- ->addColumn(['data' => 'menu.title', 'name'=>'menu.title', 'title'=>'Menu'])
- ->addColumn(['data' => 'toko.name', 'name'=>'toko.name', 'title'=>'Nama RM'])
- ->addColumn(['data' => 'user.name', 'name'=>'user.name', 'title'=>'Pemesan'])
- ->addColumn(['data' => 'created_at', 'name'=>'created_at', 'title'=>'Tanggal Pesan', 'searchable'=>false])
- ->addColumn(['data' => 'selesai', 'name'=>'selesai', 'title'=>'Status','orderable'=>false, 'searchable'=>false]);
- return view('statisticsrm.index')->with(compact('html'));
- }
- class BeliLog extends Model
- {
- protected $fillable = ['menu_id','user_id','dibatalkan','selesai'];
- protected $casts = [
- 'dibatalkan' => 'boolean',
- 'selesai' => 'boolean'
- ];
- public function menu()
- {
- return $this->belongsTo('AppMenu');
- }
- public function toko()
- {
- return $this->belongsTo('AppToko');
- }
- public function roles()
- {
- return $this->belongsTo('AppRoleToko');
- }
- public function user()
- {
- return $this->belongsTo('AppUser');
- }//
- public function scopedibatalkan($query)
- {
- return $query->where('dibatalkan', 1);
- }
- public function scopeselesai($query)
- {
- return $query->where('selesai', 1);
- }
- public function scopebeli($query)
- {
- return $query->where('selesai', 0)->where('dibatalkan',0);
- }
- }
- class RoleToko extends Model
- {
- protected $fillable = ['id','user_id','toko_id'];//
- public function toko()
- {
- return $this->belongsTo('AppToko');
- }
- public function menu()
- {
- return $this->belongsTo('AppMenu');
- }
- public function user()
- {
- return $this->belongsTo('AppUser');
- }
- }
- class Menu extends Model
- {
- protected $fillable = ['title','toko_id','amount','price'];//
- public function toko()
- {
- return $this->belongsTo('AppToko');
- }
- public function beliLogs()
- {
- return $this->hasMany('AppBeliLog');
- }
- public function getStockAttribute()
- {
- $beli = $this->beliLogs()->beli()->count();
- $stock = $this->amount - $beli;
- return $stock;
- }
- }
- class Toko extends Model
- {
- protected $fillable = ['name'];
- public function menus()
- {
- return $this->hasMany('AppMenu');
- }
- public function minumen()
- {
- return $this->hasMany('AppMinuman');
- }
- public static function boot()
- {
- parent::boot();
- self::deleting(function($toko){
- if($toko->menus->count()>0){
- //$jlh = $toko->menus->count('amount');
- $html = 'Toko tidak bisa dihapus karena masih memiliki Makanan :';
- $html .= '<ul>';
- foreach($toko->menus as $menu){
- $html .="<li> $menu->title</li>";
- }
- $html .= '</ul>';
- Session::flash("flash_notification",[
- "level"=>"danger",
- "message"=>$html
- ]);
- return false;
- }
- });
- }
- }
Add Comment
Please, Sign In to add comment