public function remove($product_id)
 {
     if (Auth::user()) {
         Cart::whereProduct_idAndUser_id($product_id, Auth::user()->id)->delete();
     } else {
         foreach (Session::get('cart') as $key => $item) {
             if ($item['product_id'] == $product_id) {
                 Session::forget('cart.' . $key);
                 break;
             }
         }
     }
     return \Redirect()->back()->with(['flash_message' => 'Product Removed From Cart !', 'flash-warning' => true]);
 }
 public function moveCartToDB()
 {
     if (Session::has('cart')) {
         foreach (Session::get('cart') as $item) {
             if (count($cart = Cart::whereProduct_idAndUser_id($item['product_id'], Auth::user()->id)->first())) {
                 $cart->amount += $item['qty'];
                 $cart->save();
             } else {
                 $cart = new Cart();
                 $cart->user_id = Auth::user()->id;
                 $cart->product_id = $item['product_id'];
                 $cart->amount = $item['qty'];
                 if (isset($item['options'])) {
                     $cart->options = $item['options'];
                 }
                 $cart->save();
             }
         }
     }
 }