Guest User

Untitled

a guest
May 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. public function index(Request $request, Builder $htmlBuilder)
  2. {
  3. if ($request->ajax()) {
  4. $auth = Auth::id();
  5. $role = RoleToko::where(['user_id'=>$auth])->first();
  6. $idtoko = $role->toko_id;
  7. $menulog = Menu::where(['toko_id'=>$idtoko])->first();
  8. $stats = BeliLog::with('toko','menu','user')->where('menu_id',$menulog->id);
  9. return Datatables::of($stats)
  10. ->addColumn('selesai', function($stat){
  11. if ($stat->selesai) {
  12. return "Selesai";
  13. }
  14. if ($stat->dibatalkan) {
  15. return "Dibatalkan";
  16. }
  17. return "Pending";
  18. })->make(true);
  19. }
  20. $html = $htmlBuilder
  21. ->addColumn(['data' => 'menu.title', 'name'=>'menu.title', 'title'=>'Menu'])
  22. ->addColumn(['data' => 'toko.name', 'name'=>'toko.name', 'title'=>'Nama RM'])
  23. ->addColumn(['data' => 'user.name', 'name'=>'user.name', 'title'=>'Pemesan'])
  24. ->addColumn(['data' => 'created_at', 'name'=>'created_at', 'title'=>'Tanggal Pesan', 'searchable'=>false])
  25. ->addColumn(['data' => 'selesai', 'name'=>'selesai', 'title'=>'Status','orderable'=>false, 'searchable'=>false]);
  26. return view('statisticsrm.index')->with(compact('html'));
  27. }
  28.  
  29. class BeliLog extends Model
  30. {
  31. protected $fillable = ['menu_id','user_id','dibatalkan','selesai'];
  32. protected $casts = [
  33. 'dibatalkan' => 'boolean',
  34. 'selesai' => 'boolean'
  35. ];
  36. public function menu()
  37. {
  38. return $this->belongsTo('AppMenu');
  39. }
  40. public function toko()
  41. {
  42. return $this->belongsTo('AppToko');
  43. }
  44. public function roles()
  45. {
  46. return $this->belongsTo('AppRoleToko');
  47. }
  48.  
  49. public function user()
  50. {
  51. return $this->belongsTo('AppUser');
  52. }//
  53.  
  54. public function scopedibatalkan($query)
  55. {
  56. return $query->where('dibatalkan', 1);
  57. }
  58. public function scopeselesai($query)
  59. {
  60. return $query->where('selesai', 1);
  61. }
  62. public function scopebeli($query)
  63. {
  64. return $query->where('selesai', 0)->where('dibatalkan',0);
  65. }
  66. }
  67.  
  68. class RoleToko extends Model
  69. {
  70. protected $fillable = ['id','user_id','toko_id'];//
  71.  
  72. public function toko()
  73. {
  74. return $this->belongsTo('AppToko');
  75. }
  76.  
  77. public function menu()
  78. {
  79. return $this->belongsTo('AppMenu');
  80. }
  81.  
  82. public function user()
  83. {
  84. return $this->belongsTo('AppUser');
  85. }
  86.  
  87. }
  88.  
  89. class Menu extends Model
  90. {
  91. protected $fillable = ['title','toko_id','amount','price'];//
  92.  
  93. public function toko()
  94. {
  95. return $this->belongsTo('AppToko');
  96. }
  97.  
  98. public function beliLogs()
  99. {
  100. return $this->hasMany('AppBeliLog');
  101. }
  102. public function getStockAttribute()
  103. {
  104. $beli = $this->beliLogs()->beli()->count();
  105. $stock = $this->amount - $beli;
  106. return $stock;
  107. }
  108.  
  109. }
  110.  
  111. class Toko extends Model
  112. {
  113. protected $fillable = ['name'];
  114.  
  115. public function menus()
  116. {
  117. return $this->hasMany('AppMenu');
  118. }
  119.  
  120. public function minumen()
  121. {
  122. return $this->hasMany('AppMinuman');
  123. }
  124.  
  125. public static function boot()
  126. {
  127. parent::boot();
  128. self::deleting(function($toko){
  129.  
  130. if($toko->menus->count()>0){
  131. //$jlh = $toko->menus->count('amount');
  132. $html = 'Toko tidak bisa dihapus karena masih memiliki Makanan :';
  133. $html .= '<ul>';
  134. foreach($toko->menus as $menu){
  135. $html .="<li> $menu->title</li>";
  136. }
  137. $html .= '</ul>';
  138.  
  139. Session::flash("flash_notification",[
  140. "level"=>"danger",
  141. "message"=>$html
  142. ]);
  143.  
  144. return false;
  145. }
  146. });
  147. }
  148. }
Add Comment
Please, Sign In to add comment