Esempio n. 1
0
 public function delete($id)
 {
     $product = Product::find($id);
     $category = Category::where('id', $product->category_id)->first();
     $inOrder = OrderDetail::where('product_id', $id)->where('review', null)->get();
     $reviews = Reviews::where('product_id', $id)->get();
     $subcategory = Subcategory::where('id', $product->subcategory_id)->first();
     if (!$product) {
         return redirect('master/produk/list')->with('error', 'Data tidak ada');
     } else {
         $image = unserialize($product->image);
         $path = base_path() . '/storage/photo_product/';
         if (count($inOrder) > 0) {
             $product->status = 'unactive';
             if ($product->save()) {
                 return redirect('master/produk/list')->with('success', 'Produk tidak bisa di hapus karena masih dalam order, produk sementara di non aktifkan');
             } else {
                 return redirect('master/produk/list')->with('error', '404');
             }
         } elseif (count($inOrder) == 0) {
             if ($product->delete()) {
                 foreach ($reviews as $review) {
                     $reviews->delete();
                 }
                 foreach ($inOrder as $order_product) {
                     foreach ($order_product as $orders) {
                         $PaymentConfirmation = PaymentConfirmation::where('order_id', $orders->id)->first();
                         $PaymentConfirmation->delete();
                     }
                     $orders = Order::where('id', $order_product->order_id)->get();
                     $orders->delete();
                 }
                 $total_product = $category->total_product - 1;
                 $category->total_product = $total_product;
                 $category->save();
                 $total_subcategory = $subcategory->total_product - 1;
                 $subcategory->total_product = $total_subcategory;
                 $subcategory->save();
                 if (!$image == NULL) {
                     foreach ($image as $image) {
                         File::delete($path . $image);
                     }
                 }
                 return redirect('master/produk/list')->with('success', 'Produk ' . $product->name . ' Berhasil Dihapus');
             } else {
                 return redirect('master/produk/list')->with('error', '404');
             }
         }
     }
 }